Firebase电子邮件验证行为

时间:2016-12-26 05:52:58

标签: firebase firebase-authentication

我对firebase电子邮件验证的工作方式有疑问。

案例:

  1. 我的用户在我的网站上签名(使用设备A)。
  2. 他们使用其他浏览器或设备(设备B)创建另一个帐户,但他们打开了已登录的浏览器和设备的电子邮件验证链接(即设备A)。
  3. 已登录用户(在设备A中)发生了什么? firebase是否已将其签名或仅验证新电子邮件,但仍与当前用户签名?

1 个答案:

答案 0 :(得分:4)

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