【问题标题】:Does firebase store current user data automatically on phone in flutter?Firebase是否会在手机上自动存储当前用户数据?
【发布时间】:2022-01-09 18:33:35
【问题描述】:

我刚看到一个教程,作者虽然在本地使用 shared-ref 来存储用户名、电子邮件等,但他没有使用任何东西将 currentUser 存储在连接到 firebase 的 Flutter 应用程序上。 因此在初始屏幕中,他使用 if currentUser != null,然后转到主屏幕,并且在重新启动应用程序时效果很好。 因此要注销,他再次使用 firebaseAuth.signOut() 。 那么,firebase 是否会自动将 currentUser 存储在应用的本地存储中?

【问题讨论】:

    标签: flutter firebase-authentication flutter-dependencies


    【解决方案1】:

    Firebase 身份验证 SDK 将用户的凭据存储在本地存储中,然后在应用重新启动/页面重新加载时从那里恢复用户。

    请注意,这并不总是意味着 currentUser != null 将在应用程序启动/页面加载时起作用,因为恢复凭据需要对服务器进行异步调用,而在调用完成之前,currentUser 将是 null。为了获得最佳结果,请收听/回复authStateChanges,如authentication state 上的文档中所示。

    【讨论】:

      【解决方案2】:

      我不认为它是根据共享偏好/用户默认值存储在本地的。我有一个问题,没有注销,但卸载并重新安装应用程序导致应用程序已经知道我是谁。原来,它存储在钥匙串中(在 iOS 上,我不知道 android 对应)。有关我对 firebase 如何拯救用户的特殊理解的更多详细信息,请参阅此答案:

      https://stackoverflow.com/a/69621552/12132021

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2021-08-21
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多