firebase 是否会自动将当前用户数据存储在 phone 上?

Does firebase store current user data automatically on phone in flutter?

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

我不认为它在共享首选项/用户默认设置方面存储在本地。我有一个问题,没有注销,但卸载并重新安装应用程序导致应用程序已经知道我是谁。事实证明,它存储在钥匙串中(在 iOS 上,我不知道 android 对应的)。有关我对 firebase 如何节省用户的特殊理解的更多详细信息,请参阅此答案:

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

请注意,这并不总是意味着 currentUser != null 将在应用程序 startup/page 加载时正常工作,因为恢复凭据需要对服务器进行异步调用,而 currentUser 将是 null 直到调用完成。为了获得 listen/respond 到 authStateChanges 的最佳结果,如 authentication state.

上的文档所示