Swift 使用Facebook注册Firebase会导致不同凭据出现问题(生成的UID不同)
我正在使用Facebook按钮将我的用户登录Firebase服务。我将用户保存在Firebase上的用户数据库中 在第一次连接时:Swift 使用Facebook注册Firebase会导致不同凭据出现问题(生成的UID不同),swift,facebook,firebase-authentication,uid,Swift,Facebook,Firebase Authentication,Uid,我正在使用Facebook按钮将我的用户登录Firebase服务。我将用户保存在Firebase上的用户数据库中 在第一次连接时: func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {[...] let user = FIRAuth.auth()?.currentU
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {[...]
let user = FIRAuth.auth()?.currentUser
guard let uid = user?.uid else {
return
}
但是当我保存它时,从Firebase Auth生成的UID与我之前得到的UID不匹配
当我断开并重新连接时,所有匹配项都匹配。但是,我有2次用户使用错误和正确的UID
我做错了什么
我真的很感谢你的帮助
Joseph你能澄清你的问题吗?我已经用facebook按钮登录firebase了。当用户登录时,它与Firebase facebook身份验证链接。我使用FIRAuth.auth()?.currentUser获取此用户的当前UID号,并使用此UID创建新的用户数据库。但是在用户第一次登录时,我意识到FB Authentification base中的UID与FIRAuth.auth()?.currentUser中的UID不匹配,因此在firebase中创建一个UID错误的条目。当我注销并再次登录时,FIRAuth.auth()?.currentUser会给我与身份验证数据匹配的正确UID,以便重新创建一个新条目。要找到问题的解决方案,我需要直接在以下级别收集UID:FIRAuth.auth()?.signIn(使用:凭据,完成:{(用户,错误)in if error!=nil{print(“FB用户出现问题”,错误??”)return}/}),但不在FirAuth.auth()?.currentUser guard让uid=user?.uid else{return}