Firebase 3.0会话持续时间

时间:2016-06-01 12:26:58

标签: session firebase persistence firebase-authentication

似乎无法在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/)中,我找不到更改默认持久性的选项。

3 个答案:

答案 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.0https://firebase.google.com/docs/auth/web/auth-state-persistence

您现在可以在登录之前或之后指定或切换验证状态持久性。对于您的情况,您可以指定仅会话持久性,如下所示: firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)