我正在做一个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_id
和id
,firebaseAuthToken
和firebase_auth_token
。
谢谢!
答案 0 :(得分:2)
默认情况下,会在您成功登录用户时创建会话,并持续到Forge中“Auth”选项卡下配置的会话到期时间。此内置会话适用于所有简单登录身份验证类型,只要本地存储和cookie可用,它就是自动的。
要恢复会话,只需使用Firebase参考和回调实例化FirebaseSimpleLogin
对象即可。如果存在本地会话,则将使用您刚刚第一次登录用户时看到的相同负载调用回调。调用login
方法将始终生成全新的身份验证。无论当前用户身份验证状态或会话如何,都会流动。
请注意,在匿名身份验证中,一旦用户会话过期,就无法恢复。这可能会在将来发生变化,或者可能会添加一些其他功能来启用它,但目前只有每个用户ID登录一次。