javascript - 在 Firebase 电话身份验证后根据用户的角色重定向用户
问题描述
我已使用 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")
}
})
解决方案
已解决。在我的 firebasui 配置中,signflow 被重定向到主页
推荐阅读
- java - 以编程方式访问解析上下文之外的 ANTLr 语法规则字符串文字
- python - Python Selenium - 找不到提交按钮
- html - React JS 将元素渲染到我的 Django 应用程序中只有一个 html 页面的 Dom
- scala - 在scala中逐个单元格比较2 spark数据帧
- swift - 从 session.dataTask 调用中获取错误代码和描述
- wpf - 如何 OneWayBind 到 materialDesign:ButtonProgressAssist.IsIndicatorVisible DependencyProperty
- sql - 需要帮助来理解查询的 SUM(CASE 部分
- jquery - Jquery中的.each()不返回结果
- c - 相对于函数开头的 __LINE__ 宏的等价物
- unity3d - 在 Unity 中检测对特定对象的触摸