我已成功设置Firebase电子邮件/密码身份验证,但出于安全考虑,我希望用户确认她/他的电子邮件 . 它在Firebases网站上说:
当用户使用电子邮件地址和密码注册时,会发送确认电子邮件以验证其电子邮件地址 .
但是当我注册时,我没有收到确认电子邮件 .
我看过,只能找到发送密码重置电子邮件的代码,但不能找到发送电子邮件确认的代码 .
我看过这里:
https://firebase.google.com/docs/auth/ios/manage-users#send_a_password_reset_email
有谁知道我怎么做?
4 回答
您可以发送验证电子邮件并检查AuthListener是否已经过验证:
如果您使用编译“com.google.firebase:firebase-auth:9.2.0”并编译“com.google.firebase:firebase-core:9.2.0”,则在您更新之前,方法sendEmailVerification()将无法解析到9.8.0或更高 . 在我弄明白之前,大部分时间浪费了 .
创建用户后,将返回User对象,您可以在其中检查用户的电子邮件是否已经过验证 .
当用户未经过验证时,您可以在用户对象本身上触发sendEmailVerification方法 .
您还可以通过监听AuthState进行检查,以下方法存在的问题是,每次新会话(通过刷新页面)都会发送新的电子邮件 .
我注意到新的Firebase电子邮件身份验证文档未正确记录 .
请注意:
您只能使用电子邮件和密码方法 createUserWithEmailAndPassword 向您创建的用户对象发送电子邮件验证
只有在您将用户签名为经过身份验证的状态后,Firebase才会返回auth对象的承诺 .
旧的onAuth方法已更改为 onAuthStateChanged .
检查电子邮件是否已经过验证: