根据Firebase电话身份验证后的角色重定向用户

时间:2019-10-22 06:37:59

标签: javascript firebase firebase-authentication ionic4 firebaseui

我已使用Firebase-UI电话身份验证登录用户。如果用户是首次登录,我会将用户重定向到“详细信息”页面,如果用户是旧用户,则将其重定向到“验证”页面。但是我的行为有所不同。用户首先要重定向到正确的页面(验证或详细信息),然后要刷新该页面,然后重定向到主页,然后最终重定向到验证或详细信息页面,具体取决于用户是新用户还是旧用户。

我也收到此警告

  

导航在Angular区域之外触发,您忘了叫'ngZone.run()'吗?

     

警告@ core.js:33461

这是我的代码

 this.afauth.auth.onAuthStateChanged(user => {
  if(user) {
    let x = this.afauth.auth.currentUser.metadata
    console.log(x)
      if(x.creationTime == x.lastSignInTime) {
        console.log("new user")
       // this.navCtrl.navigateRoot(['details'])
        console.log(this.afauth.auth.currentUser.phoneNumber)
        let navigationExtras: NavigationExtras = {
          state: {
            user: this.afauth.auth.currentUser.phoneNumber
          }
        };
        this.router.navigate(['details'], navigationExtras);


      }
      else{
        console.log("old user")

        let navigationExtras: NavigationExtras = {
          state: {
            user: this.afauth.auth.currentUser.phoneNumber
          }
        };
        this.router.navigate(['verification'], navigationExtras);
      }

  }
  else {
    console.log("something wnt wrong")
  }
})

1 个答案:

答案 0 :(得分:0)

已解决。在我的firebasui配置中,信号流已重定向到主页