【发布时间】: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