我对firebase电子邮件验证的工作方式有疑问。
案例:
已登录用户(在设备A中)发生了什么? firebase是否已将其签名或仅验证新电子邮件,但仍与当前用户签名?
答案 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