如何进行允许浏览器刷新的匿名Firebase登录

How do I do anonymous Firebase logins which allow browser refresh?

本文关键字:Firebase 登录 刷新 何进行 浏览器      更新时间:2023-09-26

我正在做一个javascript单页应用程序,它允许人们通过twitter或(对于某些用例)匿名登录。

要弄清楚的一件非常重要的事情是如何让他们重新加载页面——这不应该强迫他们重新登录!

我很快就为twitter登录找到了这一点,因此它使用cookie存储的信息来重新登录(特别是user_id、oauth_token和oauth_taken_secret)。

然而,我似乎无法使用匿名登录功能。

我试过了:

auth.login("anonymous", {
  user_id: @get("userId"),
  firebase_auth_token: @get("firebaseAuthToken")
});

但它不起作用。。。我得到了一个新的匿名用户ID。我想在用户的浏览器会话期间保持相同的ID。

是的,我同时尝试了user_ididfirebaseAuthTokenfirebase_auth_token

谢谢!

默认情况下,会话在您成功登录用户时创建,并一直持续到Forge中"Auth"选项卡下配置的会话过期时间。这种内置会话适用于所有简单登录身份验证类型,并且只要本地存储和cookie可用,它就会自动进行。

要恢复会话,只需使用Firebase引用和回调实例化FirebaseSimpleLogin对象即可。如果存在本地会话,回调将使用与您第一次登录用户时看到的负载相同的负载进行调用。调用login方法将始终生成一个全新的auth。流,而不管当前用户身份验证状态或会话如何。

请注意,在匿名身份验证中,一旦用户会话过期,就无法恢复。这可能会在未来发生变化,或者可能会添加一些额外的功能来启用它,但它目前只登录到每个用户id一次。