可以在 Javascript 中同步检查 Firebase 3 身份验证状态吗?

2024-03-10

目前,我的应用程序正在利用授权状态更改回调来指示在我的应用程序中的授权部分和主页部分之间移动。 (注意:我没有使用 AngularFire)

在 Firebase 3 中有firebase.auth().currentUser但是,如果 firebase 尚未完成从服务器提取数据,则 currentUser 将设置为 null。该值在启动时可能为 null,但会在 2 秒后设置,而无需用户对应用程序执行任何操作。

在我的应用程序中,用户授权状态应该是他们看到的第一个屏幕的决定因素,因为这本质上是异步的,他们看到授权页面,然后在 currentUser 更新后将它们移动到主页,这显示一个非常俗气的页面切换。

初始屏幕 -> 登录 -> 主页

登录页面上的时间长度取决于互联网连接,但在移动数据上,这是非常明显的。

有没有什么方法可以强制检查用户是否登录并返回 true 或 false?我可以将异步方法变成承诺,问题是onAuthStateChanged如果用户已经注销,则启动时不会调用回调。


编号 用途.onAuthStateChanged确定用户的身份验证状态。

就登录之前显示/闪烁而言currentUser这是通过修改 HTML/CSS 解决的问题。默认视图不应显示登录元素。只显示之后.onAuthStateChanged告诉你该用户尚未登录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以在 Javascript 中同步检查 Firebase 3 身份验证状态吗? 的相关文章

随机推荐