Firebase电子邮件验证流程已损坏?

时间:2017-08-20 16:58:51

标签: authentication firebase

Firebase电子邮件/密码帐户创建和电子邮件验证似乎已损坏。看来您在创建新帐户后会自动登录(至少在Android上)并且您似乎必须登录才能呼叫user.SendEmailVerification()。用户点击电子邮件中的链接后,网页会显示

  

您现在可以登录到您的帐户

这很整洁 - 但用户已经登录。是否可以创建新的电子邮件/密码帐户而无需自动登录并请求电子邮件验证,而无需先登录未验证的帐户?

目前可以使用云功能创建帐户,解决第一个问题 - 但似乎无法以这种方式请求电子邮件验证。

1 个答案:

答案 0 :(得分:0)

用户的电子邮件地址无需验证该用户是否可以登录。事实上,他们需要知道的是凭据:所以电子邮件地址+密码用于电子邮件/密码验证,无论凭据是什么社交提供商(Facebook,Twitter,Github,Google)要求或仅发送接收验证短信的电话号码。

如果您想限制没有经过验证的电子邮件地址的用户可以执行的操作,您应该检查该用户的令牌是否有经过验证的电子邮件地址。例如,limit access to the database to users with a verified email address

".read": "auth.token.email_verified === true"

对于云存储,语法略有不同,但逻辑是相同的。如果您要将其他后端服务与Firebase身份验证集成,则可以decode the token并检查email_verified是否为真。

如果有错误,则电子邮件中的消息似乎暗示您现在可以登录 - 就好像您之前无法登录一样。正确的消息应该说用户可能必须重新进行身份验证,以便应用知道他们已经验证了他们的电子邮件地址(应用中的令牌不会立即选择事实上,因为它是所谓的越界验证。)