首页 文章

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

提问于
浏览
1

我正在使用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 回答

  • 1

    重新加载页面时,应自动恢复用户的身份验证状态,并调用 authState 订阅者:

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

相关问题