我尝试将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);
}
});
});
}
答案 0 :(得分:0)
我通过将Angularfire2项目升级到
解决了此问题"@angular/fire": "5.1.0"