代码之家  ›  专栏  ›  技术社区  ›  TheRedCamaro3.0 3.0

firebase在通过google注册时不会发送电子邮件验证电子邮件

  •  0
  • TheRedCamaro3.0 3.0  · 技术社区  · 7 年前

    我使用firebase作为项目的后端来验证用户。每个用户注册后,我想发送一封验证电子邮件,以确认他们是一个真实的人和帐户持有人。我正在使用 AuthViewController FirebaseUI 并附上了一个听众。下面是发送电子邮件验证的代码。我注意到当用户第一次注册而没有发送任何验证电子邮件时,google帐户返回为已经验证。

    应用程序委托内部

        func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
            // handle user and error as necessary
            if let error = error{
                print("Error: \(error.localizedDescription)")
            }
    
            if let user = user{
            print("Signed in user: \(user.uid)")
                if user.isEmailVerified{
                    print("The email has been verified")
                    showHomeScreen()
                }
                else{
                    print("User is not verified")
                    user.sendEmailVerification(completion: {(err) in
                        if (err != nil){
                            print("Error in verifying email: \(err?.localizedDescription)")
                        }
                    })
                }
                }
            }
    

    视图控制器内部

        override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
            handle = Auth.auth().addStateDidChangeListener { (auth, user) in
                // ...
                print("State changed")
    
                if Auth.auth().currentUser != nil && Auth.auth().currentUser!.isEmailVerified == true{
                    print("User SignedIn")
                    print("Email Verified")
                showHomeScreen()
                }
                else if user?.isEmailVerified == false{
                    print("Email is not verified")
    //                Auth.auth().currentUser?.sendEmailVerification { (error) in
    //                    // Notify the user that the mail has sent or couldn't because of an error.
    //                  //  showLoginScreen()
    //                    if let error = error{
    //                        print("Error sending Email Verification: \(error.localizedDescription)")
    //                    }
    //                    print("Email not verified")
    //                }
                }
                else{
                    print("User SignedOut")
    
                    }
                }
            }
    
    0 回复  |  直到 7 年前