带有角度的firebaseui在重新访问时确定登录状态

时间:2018-12-08 19:37:59

标签: typescript firebase firebase-authentication firebaseui

我正在使用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时,不会单击,因为没有单击任何登录名。

1 个答案:

答案 0 :(得分:0)

重新加载页面时,应该自动恢复用户的身份验证状态,并且您的authState订阅者将被呼叫:

this.afAuth.authState.subscribe(d => {
  console.log('subscribed to firebase auth' + JSON.stringify(d))
});