Firebase如何创建用户?

时间:2016-09-16 12:39:59

标签: swift firebase firebase-realtime-database firebase-authentication

我不熟悉新的Firebase。如何创建新用户?我注册下面的代码和auth新用户。如果我需要在Firebase Database中的“客户”下创建这个新用户,我需要添加哪些代码?谢谢!

FIRAuth.auth()?.createUserWithEmail(email, password: password, completion: { (user, err) in

   if err != nil {

         self.showAlert("Can't Register", msg: "Please enter email and password")

      } else {   

          NSUserDefaults.standardUserDefaults().setValue(user?.uid, forKey: "uid")

           FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user, error) in

        })

         self.performSegueWithIdentifier("toSecondVC", sender: self)
     }

  })

2 个答案:

答案 0 :(得分:3)

FIRAuth.auth()?.createUserWithEmail(email, password: password, completion: { (user, err) in

 if err != nil {

     self.showAlert("Can't Register", msg: "Please enter email and password")

  } else {   

      NSUserDefaults.standardUserDefaults().setValue(user?.uid, forKey: "uid")

     FIRDatabase.database().reference().child("Customers").setValue([user!.uid : "true"])

     //Or if you want to save the users Details too:- 
     /*

        FIRDatabase.database().reference().child("Customers").setValue([user!.uid : ["email" : email,"password" : password]])

     */
     self.performSegueWithIdentifier("toSecondVC", sender: self)
    }
})

我也建议您阅读:Firebase iOS - Save Data

答案 1 :(得分:0)

上面的答案是正确的,但我建议这样做:

var values = [Any : Any] // This is a dictionary where you can store user details
values["userUID"] = // user's uid
values["usersName"] = // user's name
// etc.

let customerRef = databaseReference.child("Customers") // You could also add a child with the user's UID in order to identify each user

customerRef.updateChildValues(values, withCompletionBlock: { (error, ref) in

    if error != nil {

        // display error.code and error.localizedDescription to user if needed

    } else if ref != [] {

        // Success!
        // If needed, save the user to NSUserDefaults and perfrom a segue to another ViewController

    } else {

        // There was an error, but not sure what happened. Let the user know how they can fix the problem (maybe add the details to the database later)

    }
})