如何使用onAuthStateChanged推送页面

时间:2017-07-13 22:37:58

标签: angular firebase firebase-authentication ionic3

我最近使用firebase,我需要验证用户是否登录,如果是真的将其推送到其他页面,但没有任何反应,请帮助我! 我有这个功能

verify(){
firebase.auth().onAuthStateChanged(  function(userTester) {
    if (userTester) {
        this.navCtrl.push(ListPage);
    } else {
        console.log('nobody login');
    }
});

}

1 个答案:

答案 0 :(得分:0)

我创建了下面的函数来帮助我。我在auth.service.ts中创建了它。

isLoggedIn() {
    this.afAuth.auth.onAuthStateChanged(auth => {
      // Now use value 
      if (auth) {
        // logged in
        console.log('this is their UID: ' + auth.uid);
        console.log('Routing to items');
        this.router.navigate(['/items']);
      } else {
        // logged out
        console.log('User logged out');
      }
    });
  }

上面的控制台日志是为了验证我能够看到它。然后我就会在有人登录时调用它:

googleLogin() {
    const provider = new firebase.auth.GoogleAuthProvider()
    this.isLoggedIn();
    return this.oAuthLogin(provider);
  }