Swift 使用Facebook注册Firebase会导致不同凭据出现问题(生成的UID不同)

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

我正在使用Facebook按钮将我的用户登录Firebase服务。我将用户保存在Firebase上的用户数据库中

在第一次连接时:

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}