Firebase 身份验证获取已删除的用户

Posted

技术标签:

【中文标题】Firebase 身份验证获取已删除的用户【英文标题】:Firebase auth fetches Deleted user 【发布时间】:2019-07-20 04:24:00 【问题描述】:
 await _auth.currentUser() 

此行获取已删除的用户。

在我的应用程序中,我测试了从 firebase 控制台删除用户,然后我运行了这个:

  FirebaseUser firebaseUser;
    FirebaseUser currentUser = await _auth.currentUser();
    if (currentUser != null) 
      print('linking account $currentUser.uid');
      firebaseUser = await _auth.linkWithCredential(credential);
     else 
      firebaseUser = await _auth.signInWithCredential(credential);
    

虽然用户已被删除,(我将它们全部删除以确保它已被实际删除,但我仍然得到输出:

 linking account ua1gzDXZRmTZI0gxGeu36iF5ETO2

这会在下一行触发错误:

[ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 7016): PlatformException(error, Given String is empty or null, null)

【问题讨论】:

【参考方案1】:

您的 JWT 令牌似乎仍然有效,但您的刷新令牌无效。重要的是要记住 JWT 是无状态的,必须对已删除的用户进行内在的访问令牌撤销。

在Detect ID token revocation 部分中,您可以找到如何设置检查令牌撤销的 Firebase 规则

希望对你有帮助

【讨论】:

以上是关于Firebase 身份验证获取已删除的用户的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebase 身份验证中删除用户

Flutter Firebase - 未能正确删除经过 Google 身份验证的用户

Firebase firestore 获取未经身份验证的用户文档

从 Firebase 身份验证控制台中删除所有用户

如何在不关闭当前 Firebase 会话的情况下创建用户身份验证 [重复]

如何从 Firebase 身份验证中获取用户 ID