【问题标题】:Firebase auth fetches Deleted userFirebase 身份验证获取已删除的用户
【发布时间】: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)

【问题讨论】:

    标签: firebase dart flutter firebase-authentication


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2013-10-23
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多