首页 文章

Firebase Auth API电子邮件验证JavaScript

提问于
浏览
0

我使用nuxt(vue)作为我的应用程序和firebase来验证我的用户 . 为此,我发送了一个axios发布请求 . 到现在为止还挺好 . 我得到了一些凭据的回复 . 然后我发送另一个带有axios的帖子请求,向用户发送验证邮件 . 这也很有用 . 但是,我无法通过点击链接保存用户验证电子邮件地址的信息 . 所以我无法将其作为我的身份验证过程的条件 .

如果我使用我的电子邮件和密码登录而未验证电子邮件,我也不会收到错误 .

https://firebase.google.com/docs/reference/rest/auth/#section-create-email-password

https://firebase.google.com/docs/reference/rest/auth/#section-send-email-verification

非常感谢您的帮助 .

2 回答

  • 0

    如果您不验证电子邮件,Firebase不会阻止访问,因为许多应用程序不需要这样做 . 您可以通过安全规则强制执行该操作 . 例:

    "$uid": {
      ".write": "auth.token.email_verified === true && auth.uid === $user",
      ".read": "auth.token.email_verified === true && auth.uid === $user"
    }
    

    已验证用户的ID令牌将包含 email_verified 设置为true . Firebase Auth会在用户点击电子邮件验证链接时存储该值 . 要在用户上检测到这一点,您需要 user.reload()user.emailVerified 设置为true . 要强制ID令牌获取这些更改,您可以强制令牌刷新 user.getIdToken(true) .

  • 0

    非常感谢你的快速回答 . 我使用MongoDB作为我的数据库,我不知道如何处理MongoDB的情况 . 但非常感谢你的帮助!我确信别人会需要那个 . 祝你今天愉快!

相关问题