Firebase 3.身份验证不会持续存在

时间:2016-08-10 17:03:30

标签: angularjs firebase firebase-authentication angularfire2

我使用电子邮件和密码验证在angularJS应用中使用firebase。 我只需将我的应用程序从Firebase 2.x更新为3.x,将AngularFire从1.x更新为2.x.

我按照这两个文档进行迁移:

但是现在,每次刷新页面时,我都需要重新进行身份验证,就像没有持久会话一样。

我已经检查过localStorage密钥expirationTime我过去有一个$firebaseAuth().$getAuth()(实际上它设置了我的登录时间戳)。

要检查用户是否已登录,我使用:{{1}}

编辑

以下是我的问题的一个工作示例(登录名: toto@mail.fr /密码: toto123 https://plnkr.co/edit/463Hse?p=preview

有人知道这种行为的原因吗?

1 个答案:

答案 0 :(得分:3)

我猜你是在直接检查currentUser而不等待初始身份验证状态来解决。你需要添加一个观察者:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

https://firebase.google.com/docs/auth/web/manage-users

此外,身份验证状态存储在Web存储中,因此请确保已启用。 (例如,状态不会保留在safari私人模式浏览中。)