Angularfire2 ng5.0 身份验证在登录后立即退出
Posted
技术标签:
【中文标题】Angularfire2 ng5.0 身份验证在登录后立即退出【英文标题】:Angularfire2 ng5.0 authentication signing out immediately after sign in 【发布时间】:2018-09-17 08:02:48 【问题描述】:我正在尝试将我的 Angular/Firebase 应用程序从 Angular 4 迁移到 5。使用 AngularFire.auth 登录后几乎立即,用户再次注销。通过订阅afAuth.auth.onAuthStateChanged()
,我确信这是一个注销操作。有没有人经历过类似的?还是我只是以某种方式搞砸了我的身份验证?
提前致谢
角度@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 项目升级到
解决了这个问题"@angular/fire": "5.1.0"
【讨论】:
以上是关于Angularfire2 ng5.0 身份验证在登录后立即退出的主要内容,如果未能解决你的问题,请参考以下文章
AngularFire2在Typescript中获取经过身份验证的用户ID
AngularFire 2 authState 在页面刷新时返回 null
如何在 AngularFire2 中获取当前用户的访问令牌?