【问题标题】:Firebase Check if user already existsFirebase 检查用户是否已经存在
【发布时间】:2016-12-11 22:35:15
【问题描述】:

我尝试运行以下命令,但它不起作用。如果用户已经使用了电子邮件,我在检查 Firebase 服务器时做错了什么?

           FIRAuth.auth()!.createUser(withEmail: self.userEmailTextField.text!, password: self.userPasswordTextField.text!) {(createUser, error) in
        if error != nil { 
            FIRAuth.auth()!.signIn(withEmail: self.userEmailTextField.text!, password: self.userPasswordTextField.text!)

            //Display logged in

            let viewController = self.storyboard!.instantiateViewController(withIdentifier: "TabBarController") as UIViewController
            self.present(viewController, animated: true, completion: nil)

        }else {
            //Display an alert message
            self.displayMyAlertMessage(userMessage: "Email already in use. Please see the login page.")
            return
        }
    }

【问题讨论】:

    标签: ios swift firebase firebase-authentication


    【解决方案1】:

    请参考以下代码。

    代码:

    FIRAuth.auth()?.createUser(withEmail: email, password: password) {
      (user, error) in
      if (error) {
        // Email is already in use.
      } else {
        // Create new user successfully
      }
    }
    

    Handle Firebase iOS Auth Errors

    【讨论】:

    • ? 前后有空格是否有特定原因
    【解决方案2】:

    Firebase 已经为您完成了这项工作。删除登录方法,只需使用已存在的电子邮件运行创建用户方法,FIRAuthErrorCodeEmailAlreadyInUse 将被返回。查看this 了解更多信息

    【讨论】:

    • @alienware00 不客气。如果它有助于解决您的问题,请不要忘记投票并标记为答案。快乐编码:)
    • 但是如果我只想验证用户是否存在,因为如果它不存在,我可能不想创建新的身份验证条目,而是与现有身份验证合并(如果我发现这个新登录的用户已经有一个使用相同电子邮件的帐户,我将与其合并而不是创建另一个帐户。
    • @VanDuTran 这就是为什么你有一个用户数据库。查询您的数据库以查找该特定用户并检查快照是否存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2023-01-28
    相关资源
    最近更新 更多