首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Firebase中向用户发送验证电子邮件之前注销用户

如何在Firebase中向用户发送验证电子邮件之前注销用户
EN

Stack Overflow用户
提问于 2019-08-06 01:55:00
回答 1查看 103关注 0票数 0

创建新用户时,我需要注销他们,然后发送一封验证电子邮件,以确保他们拥有电子邮件地址。目前,我的代码创建用户并执行"sendEmailVerification“调用,但使用户保持登录状态。如何注销我的用户并检查他们是否已经验证了他们的电子邮件?

代码语言:javascript
运行
复制
func signUp(with email: String, password: String, firstName: String, lastName: String) {
    self.presentActivityView()
    Auth.auth().createUser(withEmail: email, password: password) {[unowned self] (user, error) in
        DispatchQueue.main.async { [unowned self] in
            self.dismissActivityView()
            if let err = error {
                self.addAlertController(title: "Error!", message: err.localizedDescription)
            } else {
                let changeReq = Auth.auth().currentUser?.createProfileChangeRequest()
                changeReq?.displayName = firstName + " " + lastName
                if let url = self.profilePicURLString {
                    changeReq?.photoURL = URL(string: url)
                }
                changeReq?.commitChanges(completion: { (error) in
                    if error == nil {
                        //Profile updated successfully
                    }else {
                        //Profile not updated successfully
                    }
                })
                Auth.auth().currentUser?.sendEmailVerification(completion: { (error) in
                    if error == nil {
                        //Verification initiated successfully
                    }else {
                        print("Error: \(error)")
                    }
                })
                let vc = MainStoryboard.instantiateViewController(withIdentifier: "SNStoryFeedController") as! SNStoryFeedController
                let nc = UINavigationController(rootViewController: vc)
                UIApplication.shared.keyWindow?.rootViewController = nc
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-08-06 02:23:24

你唯一需要做的就是从你自己的应用程序中注销:

代码语言:javascript
运行
复制
// for FIRAuth
try? Auth.auth()?.signOut()

// for GoogleSignIn
GIDSignIn.sharedInstance().signOut()

safari部分由系统处理,您无需担心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57363798

复制
相关文章

相似问题

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