如何使用Firebase在iOS上验证用户的电子邮件地址?

前端之家收集整理的这篇文章主要介绍了如何使用Firebase在iOS上验证用户的电子邮件地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我坚持使用firebase进行电子邮件验证.我四处寻找指导但没有帮助.在用户验证他的电子邮件后,我的代码仍然打印出用户尚未验证.我还在尝试习惯firebase的语法.这是我的代码
if FIRAuth.auth()?.currentUser!.emailVerified == true{
    FIRAuth.auth()?.signInWithEmail(email.text!,password: passsword.text!,completion: {
        user,error in

        if error != nil{
            print("Email/password is wrong or user does not exist")
        }else{
            print("Successful login.")
        }
    })
}else{
    print("Please verify your email.")
}

这是我注册部分的代码

let eduEmail = email.text
    let endInEdu = eduEmail?.hasSuffix("my.utsa.edu")

    if endInEdu == true {

        FIRAuth.auth()?.createUserWithEmail(email.text!,completion: {
            user,error in

            if error != nil{
                let alert = UIAlertController(title: "User exists.",message: "Please use another email or sign in.",preferredStyle: UIAlertControllerStyle.Alert)
                alert.addAction(UIAlertAction(title: "Ok",style: UIAlertActionStyle.Default,handler: nil))
                self.presentViewController(alert,animated: true,completion: nil)

                print("Email has been used,try a different one")
                }else{

 FIRAuth.auth()?.currentUser!.sendEmailVerificationWithCompletion({ (error) in
                      })


                let alert = UIAlertController(title: "Account Created",message: "Please verify your email by confirming the sent link.",completion: nil)








                print("This is a college email and user is created")




            }


        })


    }else{
        print("This is not a my.utsa.edu email")
        }

解决方法

您在签名之前检查了用户电子邮件是否已经过验证.

这对我有用.

FIRAuth.auth()?.signInWithEmail(txtUsername.text!,password: txtPassword.text!) {
        (user,error) in
        if let user = FIRAuth.auth()?.currentUser {
            if !user.emailVerified{
                let alertVC = UIAlertController(title: "Error",message: "Sorry. Your email address has not yet been verified. Do you want us to send another verification email to \(self.txtUsername.text).",preferredStyle: .Alert)
                let alertActionOkay = UIAlertAction(title: "Okay",style: .Default) {
                    (_) in
                        user.sendEmailVerificationWithCompletion(nil)
                }
                let alertActionCancel = UIAlertAction(title: "Cancel",style: .Default,handler: nil)

                alertVC.addAction(alertActionOkay)
                alertVC.addAction(alertActionCancel)
                self.presentViewController(alertVC,completion: nil)
            } else {
                print ("Email verified. Signing in...")
            }
        }
    }
原文链接:https://www.f2er.com/iOS/332090.html

猜你在找的iOS相关文章