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

时间:2013-12-14 18:51:41

标签: javascript authentication firebase

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

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

我很快就想到了twitter登录,所以它使用cookie存储的信息重新登录(具体来说,就是user_id,oauth_token和oauth_token_secret)。

但是,我似乎无法使用匿名登录工具。

我试过了:

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

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

是的,我尝试了user_ididfirebaseAuthTokenfirebase_auth_token

谢谢!

1 个答案:

答案 0 :(得分:2)

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

要恢复会话,只需使用Firebase参考和回调实例化FirebaseSimpleLogin对象即可。如果存在本地会话,则将使用您刚刚第一次登录用户时看到的相同负载调用回调。调用login方法将始终生成全新的身份验证。无论当前用户身份验证状态或会话如何,都会流动。

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

相关问题