我正在使用firebaseUI使用Facebook登录。我的app.components.html有两个div,一个显示firebaseui标记,另一个显示在用户登录后显示。
我的问题是,当我登录一次后,如何确定自己已经登录?代码看起来像是
constructor(private afAuth: AngularFireAuth,
private core:CoreService) {
}
successCallback(data: FirebaseUISignInSuccessWithAuthResult) {
console.log('successCallback', data);
this.core.loggedIn = true
}
logout() {
this.core.loggedIn = false
this.afAuth.auth.signOut();
}
errorCallback(data: FirebaseUISignInFailure) {
alert('Failed to login')
this.core.loggedIn = false
console.warn('errorCallback', data);
}
ngOnInit(): void {
this.afAuth.authState.subscribe(d => {console.log('subscribed to firebase auth' + JSON.stringify(d))});
}
}
因此,当我重新访问successCallback时,不会单击,因为没有单击任何登录名。
答案 0 :(得分:0)
重新加载页面时,应该自动恢复用户的身份验证状态,并且您的authState
订阅者将被呼叫:
this.afAuth.authState.subscribe(d => {
console.log('subscribed to firebase auth' + JSON.stringify(d))
});