【问题标题】:Firebase onauth not fired for the second tabFirebase onauth 未针对第二个选项卡触发
【发布时间】:2015-10-12 20:19:40
【问题描述】:

在我的单页应用程序中,当用户单击“注销”按钮时,我会调用 firebase.unauth()。这会导致 firebase 客户端取消身份验证(这并不奇怪),并且我调用了 firebase.onAuth(callback) (应该是 null 参数)。

到目前为止一切顺利。

当我打开第二个选项卡(即我同时在两个选项卡中进行身份验证)时,就会出现问题。在这种情况下,在选项卡 A 中单击注销不会导致选项卡 B 中的 onAuth 回调;此选项卡完全不知道其 firebase 客户端不再经过身份验证(直到我 F5 页面并让 firebase 客户端意识到可怕的事实)。

我不确定是否应该将其视为功能或错误;然而,很难想象这样的行为是有益的。

我可以构建一些解决方法以使我的应用程序正常运行,但我能想到的所有解决方案都介于 this-is-not-very-robust-ish 和 omg-such-basic-functionality-should-be-in- 之间系统的核心。

这是我应该报告的错误吗?如果没有,是否有一些正确的方法来获得(显然需要的)行为(即所有选项卡都会收到有关该用户不再存在的事实的通知)

【问题讨论】:

  • 我刚刚发现,更糟糕的是:当我在一个选项卡中取消身份验证时,第二个选项卡是半身份验证:它可以执行请求(即使是需要登录用户的验证规则也可以这样)。但是,当我刷新第二个选项卡时,身份验证丢失。

标签: authentication firebase


【解决方案1】:

我写信给 Firebase 支持;他们向我解释了导致这种情况的技术细节。然而,half-authenticated-half-not 状态被认为是可取的(至少目前是这样)。

一般来说,应该对 Firebase 身份验证做一些事情 - 所以,请继续关注 :)

【讨论】:

  • 半认证半非状态如何是可取的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多