0

Ich benutze Facebook Login mit Firebase in meiner iOS-App, aber ich kann die Daten des Benutzers nicht in der Datenbank speichern, weil AuthWithOAuthProvider eine andere uid string aus der einen zurückgibt, die ich kann siehe im Dashboard. Ist das ein bekanntes Problem? Hier ist mein Code:iOS Firebase - Facebook authWithOAuthProvider gibt falsche uid zurück

@IBAction func tappedFacebookLogin(sender: AnyObject) { 
    User.sharedModel.facebookUser = true 
    let loginManager = FBSDKLoginManager() 
    let permissions = ["public_profile", "email"] 
    loginManager.logInWithReadPermissions(permissions, fromViewController: self, handler: { fbResult, fbError in 
     if fbError != nil { 
      // error in login 
      print("fbError: \(fbError.code)") 
     } 
     else if fbResult.isCancelled { 
      // cancelled login 
      print("cancelled facebook login") 
     } 
     else { 
      // fb logged in 
      self.startProgressHud() 
      let accessToken = FBSDKAccessToken.currentAccessToken().tokenString 
      FirebaseManager.sharedRootRef.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: { error, authData in 
       if error != nil { 
        self.handleFirebaseError(error) 
       } 
       else { 
        // firebase logged in 
        print(authData.uid) 
        self.getUserDataAndLogin(authData.uid) 
       } 
      }) 
     } 
    }) 
} 
+0

Bitte aktualisieren Sie mit einigen relevanten Screenshot, um den genauen Fall zu zeigen. – Shubhank

Antwort

0

gefunden, dass, obwohl die uid von authWithOAuthProvider gedruckt unterscheidet sich von dem in der Auth-Armaturenbrett, authWithOAuthProvider druckt die gleiche, so dass jeder Zeitersparnis und Benutzerdaten abrufen tatsächlich funktioniert, es ist nur eine andere Benutzer-ID, die aus irgendeinem Grund im Authentifizierungs-Dashboard für diesen Benutzer angezeigt wird.