【问题标题】:Flutter firebase_auth detecting user deletion from firebase consoleFlutter firebase_auth 从 firebase 控制台检测用户删除
【发布时间】:2020-08-28 20:32:40
【问题描述】:

firebase_auth 包提供 userChanges 流,该流触发用户状态事件以进行登录和注销等......但是,当我从控制台中删除用户时,没有收到任何事件。 文档指出“此 API 的目的是允许用户订阅所有用户事件,而无需在需要手动重新加载的情况下手动填充应用程序状态(例如 updateProfile()...)”。 我试图在用户上调用 reload 以检查它是否没有从控制台中删除?

  Future<void> init() async {
    await Firebase.initializeApp();
    await FirebaseAuth.instance.currentUser?.reload();
  }

reload 方法引发异常: PlatformException(firebase_auth, com.google.firebase.auth.FirebaseAuthInvalidUserException: 没有此标识符对应的用户记录。用户可能已被删除。, {code: user-not-found, additionalData: {}, message: 有没有与此标识符对应的用户记录。该用户可能已被删除。})。

在继续之前有什么方法可以检查用户是否被删除?

【问题讨论】:

    标签: flutter firebase-authentication


    【解决方案1】:

    userChanges 流响应 SDK 本身内发生的事件,而不是其他地方发生的一般“实时”事件。 SDK documentation 在这一点上有点误导 - 它不像实时数据库或 Firestore 那样“实时”。更公平地说,从 SDK 的角度来看,它对用户状态的变化具有“反应性”。

    流将在用户登录或退出时生成事件。如果用户帐户从控制台中删除,则可能需要一个小时才能反映在 SDK 中,因为它只会在该时间段内尝试“刷新”用户。直到刷新发生,SDK 才会认为用户“已退出”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      相关资源
      最近更新 更多