Firebase 电子邮件验证行为

标签 firebase firebase-authentication

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

案例:

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

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

    最佳答案

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

    关于Firebase 电子邮件验证行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41326951/

    相关文章:

    firebase - 文档在 Firestore 中被删除后出现

    node.js - 如何从 firebase 集合中获取所有文档,其中每个文档都有一些子集合并且在子集合中有一个文档?

    ios - 在 Firebase 返回结果后为变量赋值?

    firebase - Firebase 自定义身份验证是否要求您管理 Web 客户端的刷新 token ?

    javascript - 使页面只有在登录后才能访问 - Firebase Web

    ios - Firebase 身份验证密码重置 iOS Swift - 更新 Firebase 数据库

    node.js - 从 Firebase/Google Cloud Storage 读取作为 Node.js 函数中的缓冲区

    javascript - 带时间表的云功能

    firebase - 取消 Google 登录会导致 Flutter 出现异常

    Android Firebase 身份验证 : federated Google login not working in Oreo