我正在尝试将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 回答
我通过将我的Angularfire2项目升级到,解决了这个问题