Firebase数据库和Firebase身份validation中的不同UID
目前我正在尝试获取用户数据,但存在一个巨大的问题。 当前登录用户的uid与我数据库中同一用户的UID不同。 这是两个你可以看到它的图像。 图像下面是我在Swift中的SignUpController中的代码。 我需要它与数据库和auth相同。 感谢帮助。
这是第二个
func emailSingUp(){ guard let email = emailTextField.text, let password = passwordTextField.text,let name = nameTextField.text else { print("unsuccessful signup") return } Auth.auth().createUser(withEmail: email, password: password) { (user, error) in if error != nil{ print(error!) return } } guard let uid = Auth.auth().currentUser?.uid else{ print("There is no UID to access") return } let ref = Database.database().reference(fromURL: "https://yourapp.firebaseio.com/") let userReference = ref.child("users").child(uid) let values = ["name":name, "email":email] userReference.updateChildValues(values) { (err, ref) in if err != nil{ print(err!) return } }
我把一些代码移到了正确的位置。 此外,您更新了一个名为“uid”的值,但您没有任何参考。 我希望下面的代码有效。
func emailSingUp(){ guard let email = emailTextField.text, let password = passwordTextField.text,let name = nameTextField.text else { print("unsuccessful signup") return } Auth.auth().createUser(withEmail: email, password: password) { (user, error) in if error != nil{ print(error!) return }else{ let values = ["name":name, "email":email] Database.database().reference().child("users").child("\(Auth.auth().currentUser!.uid)").updateChildValues(values) { (err, ref) in if err != nil{ print(err!) return } }
如果这样可行,则名为uid的变量来自旧帐户。
- UIControlState.Normal不可用
- 在不使用桥接头的情况下访问专用UIKitfunction
- 推送通知在Apple Beta测试(TestFlight)中不起作用
- 在Objective-C中,何时应该使用属性,什么时候应该使用实例variables?
- Alamofire 3.0 – iOS 9.1上的EXC_BAD_ACCESS
- 在使用委托的ObjectiveC中,如何在不使用UIButton的情况下发送消息?
- iAd ADBannerView检测卸载
- 在UITableViewCell中以静态UITableView编程添加控件
- UITextView上的CGAffineTransformMakeScale