似乎无法在firebase 3.0中使用会话持久性。
这在以前的版本中是可能的: https://www.firebase.com/docs/web/guide/login/password.html
authWithPassword()接受一个可选的第三个参数 包含以下任何设置的对象:
记住 - 字符串
如果未指定 - 或设置为默认值 - 会话为 只要您在Login& amp;中配置,就会持续存在验证标签 您的应用程序仪表板。限制持久性到生命周期 当前窗口,将其设置为sessionOnly。值为none不会 根本保留身份验证数据,并尽快结束身份验证 当页面关闭时。
在3.0版中,没有提到可选的第3个参数: https://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithEmailAndPassword
signInWithEmailAndPassword(电子邮件,密码)
返回firebase.Promise 包含非null firebase.User
此外,在新控制台(https://console.firebase.google.com/)中,我找不到更改默认持久性的选项。
答案 0 :(得分:5)
还可能值得一提的是,您需要等待auth状态才能解决。根据文档:
获取当前用户的推荐方法是在Auth对象上设置观察者:
/tmp/.org.chromium.Chromium.oTfMa3/Default
链接到此处的文档:https://firebase.google.com/docs/auth/web/manage-users
答案 1 :(得分:3)
在3.0中,用户目前始终保持不变,直到调用signOut()(或者用户清除本地存储)。
答案 2 :(得分:2)
Firebase Auth JS SDK现在支持sessionOnly持久性。有关详情,请查看https://firebase.google.com/support/release-notes/js#4.2.0和https://firebase.google.com/docs/auth/web/auth-state-persistence
您现在可以在登录之前或之后指定或切换验证状态持久性。对于您的情况,您可以指定仅会话持久性,如下所示:
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)