登录后立即签署Angularfire2 ng5.0身份验证

时间:2018-04-07 12:11:17

标签: javascript angular firebase firebase-authentication angularfire2

我尝试将Angular / Firebase应用程序从角度4迁移到5.几乎在使用AngularFire.auth登录后,用户再次注销。通过订阅afAuth.auth.onAuthStateChanged(),我确信它已经发生了注销操作。有没有人经历类似的?或者我是否以某种方式搞砸了我的身份验证?

提前致谢

Angular @ 5.0.0 Angularfire2 @ 5.0.0-rc.6

以下是一个示例登录功能:

googleLogin() {
this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then(result => {

  this.updateUser(result);

  this.router.navigate(['dashboard']);

}).catch(result => {
  this.toastr.error(result.message);
});

}

this.updateUser()更新firebase实时数据库中的用户对象。我已尝试在没有它的情况下运行,但它仍然会退出用户。

并访问登录用户:

public getAuthedUser(): Observable<User> {

return Observable.create(observer => {
  this.afAuth.authState.subscribe( authedUser => {
    if (authedUser) {
      this.db.object<User>(DB_PATH_USER + '/' + authedUser.uid).valueChanges().subscribe(u => {
        observer.next(u);
      });
    } else {
      observer.next(null);
    }
  });
});

}

1 个答案:

答案 0 :(得分:0)

我通过将Angularfire2项目升级到

解决了此问题
"@angular/fire": "5.1.0"