SignUp上的Firebase电子邮件验证

时间:2017-12-29 22:05:46

标签: swift firebase firebase-realtime-database firebase-authentication

在用户注册Firebase之前,我该如何验证电子邮件地址? 我知道电子邮件地址已通过.sendEmailVerification验证,但这仅适用于当前用户。因此,必须在发送验证电子邮件之前创建用户。这不会有太大帮助,因为您显然必须在将电子邮件添加到数据库之前验证它。因此,什么是好的解决方法?

1 个答案:

答案 0 :(得分:2)

在使用Firebase Auth注册之前,您无法验证电子邮件。不一定需要电子邮件验证。这就是Firebase Auth将其作为一种方法提供给用户的原因。某些应用程序在注册时不需要电子邮件验证,其他应用程序可能会使其成为可选项,其他应用程序可能会对未经验证的用户提供有限的访问权限等。

如果您想在访问应用内容之前要求用户进行验证,您可以: 通过Firebase规则强制执行,例如: ".read": "auth.token.email_verified === true"

或者,如果您使用的是自己的后端,请使用Firebase Admin SDK, https://firebase.google.com/docs/auth/admin/verify-id-tokens

admin.auth().verifyIdToken(idToken).then(decodedToken => {
  if (decodedToken.email_verified) {
    // Email verified. Grant access.
  } else {
    // Email not verified. Ask user to verify email.
  }
});