0

我正在使用具有持久性的 firebase 匿名身份验证和 firebase 实时数据库。这个问题是关于我是否必须做任何事情来保持身份验证有效。

我从 firebase 人员在 stackoverflow 中的有用回复了解到,如果我们使用标准身份验证提供程序,firebase 会确保身份验证令牌不会过期。例如,此评论此答案

匿名身份验证令牌不会过期,并且会在您的应用程序运行之间持久保存到磁盘

也就是说,我是否可以得出结论,即使启用了数据库持久性,一旦用户通过身份验证,他/她仍然保持身份验证,直到在应用程序和设备重新启动时注销(或专门为此用户撤销身份验证)?

我不确定,因为启用实时数据库的离线功能的文档提到了这一点

如果您的应用使用 Firebase 身份验证,则 Firebase 实时数据库客户端会在应用重新启动时保留用户的身份验证令牌。如果 auth 令牌在您的应用离线时过期,客户端会暂停写入操作,直到您的应用重新对用户进行身份验证,否则写入操作可能会因安全规则而失败。

这让我想知道我是否需要做任何事情来保持跨应用程序和设备重新启动的身份验证处于活动状态。我对令牌本身不感兴趣。我只是对保持身份验证有效直到退出感兴趣。

4

1 回答 1

1

也就是说,我是否可以得出结论,即使启用了数据库持久性,一旦用户通过身份验证,他/她仍然保持身份验证,直到在应用程序和设备重新启动时注销(或专门为此用户撤销身份验证)?

数据库持久性与 Firebase 匿名身份验证无关。根据有关Firebase 实时数据库持久性的官方文档:

当您启用磁盘持久性时,您的应用程序会将数据本地写入设备,以便您的应用程序可以在离线时保持其状态,即使用户或操作系统重新启动应用程序也是如此。

并回答第二个问题:

我从 Firebase 人员在 StackOverflow 中的有用回复中了解到,如果我们使用标准身份验证提供程序,firebase 会确保身份验证令牌不会过期。

是的,没错。我回答了一个类似的问题。请看下面的链接:

于 2021-01-05T13:38:42.050 回答