Firebase数据库和Firebase身份验证中的不同UID

时间:2017-06-29 19:20:57

标签: ios firebase swift3 firebase-realtime-database firebase-authentication

目前我正在尝试获取用户数据,但存在一个巨大的问题。当前登录用户的uid与我数据库中同一用户的UID不同。这是两个你可以看到它的图像。图像下面是我在Swift中的SignUpController中的代码。我需要它与数据库和auth相同。感谢帮助。

Auth

这是第二个

Database

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
        }
    }

1 个答案:

答案 0 :(得分:0)

我将一些代码移到了正确的位置。此外,您更新了一个名为" uid"但你没有任何参考。我希望下面的代码有效。

void func(vector<vector<char> > grid2d)
{
     //use grid2d[1][2]
}
int main()
{
     //input x and y
     vector<vector<char> > grid2d(x,vector<char>(y));
     func(grid2d);
}

如果这样可行,那么名为uid的变量来自旧帐户。