0

Я использую Facebook для входа в систему с помощью firebase в моем приложении ios, но я не могу сохранить данные пользователя в базе данных, потому что authWithOAuthProvider, похоже, возвращает строку с другим значением uid из той, которую я могу см. в приборной панели. Это известная проблема? Вот мой код:iOS Firebase - Facebook authWithOAuthProvider возвращает неправильный uid

@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

, пожалуйста, обновите соответствующий скриншот, чтобы показать конкретный случай. – Shubhank

ответ

0

Найдено, что если UID печатается authWithOAuthProvider отличается от той, в Идент приборной панели, authWithOAuthProvider печатает тот же один каждый раз, поэтому сохранение и получение пользовательских данных на самом деле работает, это просто разные uid, который появляется на панели управления для этого пользователя по какой-то нечетной причине.

Смежные вопросы