首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新发送Firebase电子邮件验证

重新发送Firebase电子邮件验证
EN

Stack Overflow用户
提问于 2017-04-13 07:01:21
回答 3查看 9K关注 0票数 5

我有一个看起来很傻的问题,但我哪儿也找不到答案。我有一个简单的注册iOS过程,它依赖于Firebase身份验证SDK。

在创建用户之后的特定时间点上:

代码语言:javascript
运行
复制
FIRAuth.auth()?.createUser(withEmail: userName!, password: password!)

就在那之后,我给我的用户发送了一封验证邮件:

代码语言:javascript
运行
复制
FIRAuth.auth()?.currentUser?.sendEmailVerification(completion:
                        {(error) in
                        if error == nil
                            {self.showSuccessPopUp()} 
                        else
                            {self.showErrorPopUp()}
                    })

一切都很好,一点问题都没有。

我的问题是:我的用户收到了电子邮件,并且--不管什么原因--没有点击自动生成的确认链接。后来,他又打开了这个应用程序--忘了他已经注册过一次--尝试用相同的电子邮件地址注册。

Firebase只是说已经有一个用户用那个电子邮件地址创建了--根据文档,即使不是'active‘-,用户也是被创建的,因此我想给我的用户一个“重新发送验证电子邮件”的选项。

在没有解决方案的情况下,我一直在研究Firebase文档。有没有人有过同样的“问题”?

谢谢你的帮助

EN

Stack Overflow用户

回答已采纳

发布于 2018-04-13 15:21:52

虽然很晚,但我会在两种情况下回答这个问题:

1:您成功地调用了createUser,但是当用户再次打开应用程序时,firebase.auth()表示它们没有在中签名

在这种情况下,帐户存在密码,因此您需要发送“重置密码”电子邮件,而不是身份验证电子邮件。

2:您成功地调用了createUser,但是当用户再次打开应用程序时,firebase.auth()表示它们是用签名的

在这种情况下,它们被登录,但没有被验证。使用

代码语言:javascript
运行
复制
firebase.auth().currentUser.reload() // reloads user fields, like emailVerified:
if (!firebase.auth().currentUser.emailVerified) {
    //resend verification email
} else {
     //login
}

请原谅我使用了javascript,但是应该很容易翻译。

票数 8
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43385571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档