Firebase 电子邮件验证行为

Chr*_*tro 6 firebase firebase-authentication

我有一个关于 firebase 电子邮件验证如何工作的问题。

案件:

  1. 我的用户登录了我的网站(使用设备 A)。
  2. 他们使用其他浏览器或设备(设备 B)创建另一个帐户,但他们使用浏览器和他已经登录的设备(设备 A)打开电子邮件验证链接。

已经登录的用户(在设备 A 中)发生了什么?firebase 是将他们注销还是只是验证新电子邮件,但仍使用当前用户登录?

boj*_*eil 10

电子邮件验证在带外进行,在重新加载之前不会影响任何现有的 Firebase 状态。如果用户验证了他们的电子邮件,您必须致电firebase.auth().currentUser.reload()更新该emailVerified属性。如果您使用带emailVerified字段的firebase 规则,则需要firebase.auth().currentUser.getToken(true)在验证后强制刷新令牌 ( )。您可以使用 Firebase 实时数据库在电子邮件验证中设置一些标志,并在现有会话中检测它以强制用户重新加载。这将需要您构建自己的自定义电子邮件验证处理程序:https : //firebase.google.com/docs/auth/custom-email-handler