【问题标题】:iOS Firebase - Facebook authWithOAuthProvider returns incorrect uidiOS Firebase - Facebook authWithOAuthProvider 返回不正确的 uid
【发布时间】:2016-10-06 20:15:01
【问题描述】:

我在我的 ios 应用程序中使用 Facebook 登录和 firebase,但我无法将用户的数据保存到数据库中,因为 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)
                }
            })
        }
    })
}

【问题讨论】:

  • 请更新一些相关的屏幕截图以显示确切的情况。

标签: ios firebase firebase-authentication facebook-login facebook-authentication


【解决方案1】:

发现虽然authWithOAuthProvider打印的uid与auth仪表板中的不一样,authWithOAuthProvider每次都打印相同的,所以保存和检索用户数据确实有效,只是出现在出于某种奇怪的原因,该用户的身份验证仪表板。

【讨论】:

    猜你喜欢
    • 2018-09-18
    • 1970-01-01
    • 2016-12-05
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多