首页 文章

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

提问于
浏览
2

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

提前致谢

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

    我通过将我的Angularfire2项目升级到,解决了这个问题

    "@angular/fire": "5.1.0"
    

相关问题