我已成功设置Firebase电子邮件/密码身份验证,但出于安全原因,我希望用户确认其电子邮件。Firebases网站上说:
当用户使用电子邮件地址和密码注册时,将发送确认电子邮件以验证其电子邮件地址。
但是当我注册时,我没有收到确认电子邮件。
我已经看过了,只能找到一个代码发送密码重置电子邮件,但不是一个代码发送电子邮件确认。
我看了这里:
https://firebase.google.com/docs/auth/ios/manage-users#send_a_password_reset_email
有人知道我是怎么做到的吗
8条答案
按热度按时间tcbh2hod1#
我注意到新的Firebase电子邮件身份验证文档没有正确记录。
请注意:
1.您只能向使用Email&Password方法创建的用户对象发送电子邮件验证信息createUserWithEmailAndPassword
1.只有在您将用户签名为经过身份验证的状态后,Firebase才会返回auth对象的promise。
1.旧的onAuth方法更改为onAuthStateChanged。
要检查电子邮件是否已验证,请执行以下操作:
vlju58qv2#
创建用户后,将返回User对象,您可以在其中检查用户的电子邮件是否已验证。
如果用户尚未通过验证,则可以在用户对象本身上触发sendEmailVerification方法。
您也可以通过监听AuthState来检查,以下方法的问题是,每个新会话(通过刷新页面)都会发送一封新电子邮件。
n3schb8v3#
确认电子邮件可能在您的垃圾邮件文件夹中。检查您的垃圾邮件文件夹。
gr8qqesn4#
您可以发送验证邮件并检查是否通过验证到AuthListener,如下所示:
oo7oh9g95#
如果你正在使用编译“com.google.firebase:firebase-auth:9.2.0”和编译“com.google.firebase:firebase-core:9.2.0”,那么方法sendEmailVerification()将不会被解析,直到你更新到9.8.0或更高版本。我花了大部分时间才弄明白。
hwazgwia6#
我也一直在看这个。看来firebase改变了你发送验证的方式。为了我
不起作用如果你得到一个错误,例如user.sendEmailVerification()不存在。使用以下内容。
rn0zuynd7#
这不是问题的答案,但可能对某人有所帮助。不要忘记将您的网站域添加到登录方法下的授权域列表中
j7dteeu88#
您可以向其电子邮件链接到Firebase Auth帐户的任何用户发送验证电子邮件。例如,在Flutter中,您可以这样做。类似于: