swift - invalid_credentials firebase facebook 身份验证时出错?
swift - invalid_credentials error while firebase facebook authentication?
我不知道是什么导致了这个问题,使用 Firebase 的 FB 登录是完美的。但是现在我遇到 INVALID_CREDENTIALS 下面的错误。
我尝试从 Facebook 删除应用程序并再次 运行,然后检查 https://developers.facebook.com/ 每个部分,但同样的问题仍然存在。
完美打印 accessToken 后,print("yes (error)") 行出现此错误。
我已经搜索过了,但找不到可能的解决方案,为什么会出现这个问题,我该如何解决?
Error Domain=FirebaseAuthentication Code=-11 “(错误代码:INVALID_CREDENTIALS)提供的身份验证凭据无效。” UserInfo={details={"providerErrorInfo":{}}, NSLocalizedDescription=(错误代码: INVALID_CREDENTIALS) 提供的身份验证凭据无效。}
@IBAction func loginFb_clicked(sender: AnyObject) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) in
if facebookError == nil {
if FBSDKAccessToken.currentAccessToken() == nil {
print("FOUND NIL!")
}
else if(facebookResult.isCancelled) {
print("Cancelled")
}
else {
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
print(accessToken)
DataService.ds.REF_BASE.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: {
error, authData in
if error != nil {
print("yes \(error)")
}
else {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMMM dd, yyyy hh:mm"
let stringDate = dateFormatter.stringFromDate(NSDate())
print("createdAt: " + stringDate)
let user =
["id": authData.providerData["id"] as! String,
"accessToken": authData.providerData["accessToken"] as! String,
"provider": authData.provider!,
"displayName": authData.providerData["displayName"] as! String,
"email": authData.providerData["email"] as! String,
"profileImageURL": authData.providerData["profileImageURL"] as! String,
"token": authData.token as String,
"createdAt": stringDate]
let uuidString:String = authData.providerData["id"] as! String
DataService.ds.REF_USERS.childByAppendingPath("facebook:"+uuidString)
.observeSingleEventOfType(.Value, withBlock: { snapshot in
print("Solved snapshot is:")
print(snapshot.value)
if !snapshot.exists() {
print("USER NOT EXIST ON DB!")
// DataService.ds.REF_USERS_KEY.childByAppendingPath("facebook:"+uuidString).setValue("1")
DataService.ds.createFirebaseUser(authData.uid, user: user)
}
else {
print("USER EXIST ALREADY......................")
DataService.ds.REF_USERS.childByAppendingPath("facebook:"+uuidString).updateChildValues(user)
}
})
print("Successfully logged in with facebook. \(accessToken)")
print("Logged in! \(authData)")
NSUserDefaults.standardUserDefaults().setValue(authData.uid, forKey: KEY_UID)
self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil)
}
})
}
}
}
}
在 developer.facebook.com 的高级设置中添加 白 IP 列表 时会出现此问题。检查你的设置,如果你认为你没有添加它,请删除。会解决的。
我不知道是什么导致了这个问题,使用 Firebase 的 FB 登录是完美的。但是现在我遇到 INVALID_CREDENTIALS 下面的错误。
我尝试从 Facebook 删除应用程序并再次 运行,然后检查 https://developers.facebook.com/ 每个部分,但同样的问题仍然存在。
完美打印 accessToken 后,print("yes (error)") 行出现此错误。
我已经搜索过了,但找不到可能的解决方案,为什么会出现这个问题,我该如何解决?
Error Domain=FirebaseAuthentication Code=-11 “(错误代码:INVALID_CREDENTIALS)提供的身份验证凭据无效。” UserInfo={details={"providerErrorInfo":{}}, NSLocalizedDescription=(错误代码: INVALID_CREDENTIALS) 提供的身份验证凭据无效。}
@IBAction func loginFb_clicked(sender: AnyObject) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) in
if facebookError == nil {
if FBSDKAccessToken.currentAccessToken() == nil {
print("FOUND NIL!")
}
else if(facebookResult.isCancelled) {
print("Cancelled")
}
else {
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
print(accessToken)
DataService.ds.REF_BASE.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: {
error, authData in
if error != nil {
print("yes \(error)")
}
else {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMMM dd, yyyy hh:mm"
let stringDate = dateFormatter.stringFromDate(NSDate())
print("createdAt: " + stringDate)
let user =
["id": authData.providerData["id"] as! String,
"accessToken": authData.providerData["accessToken"] as! String,
"provider": authData.provider!,
"displayName": authData.providerData["displayName"] as! String,
"email": authData.providerData["email"] as! String,
"profileImageURL": authData.providerData["profileImageURL"] as! String,
"token": authData.token as String,
"createdAt": stringDate]
let uuidString:String = authData.providerData["id"] as! String
DataService.ds.REF_USERS.childByAppendingPath("facebook:"+uuidString)
.observeSingleEventOfType(.Value, withBlock: { snapshot in
print("Solved snapshot is:")
print(snapshot.value)
if !snapshot.exists() {
print("USER NOT EXIST ON DB!")
// DataService.ds.REF_USERS_KEY.childByAppendingPath("facebook:"+uuidString).setValue("1")
DataService.ds.createFirebaseUser(authData.uid, user: user)
}
else {
print("USER EXIST ALREADY......................")
DataService.ds.REF_USERS.childByAppendingPath("facebook:"+uuidString).updateChildValues(user)
}
})
print("Successfully logged in with facebook. \(accessToken)")
print("Logged in! \(authData)")
NSUserDefaults.standardUserDefaults().setValue(authData.uid, forKey: KEY_UID)
self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil)
}
})
}
}
}
}
在 developer.facebook.com 的高级设置中添加 白 IP 列表 时会出现此问题。检查你的设置,如果你认为你没有添加它,请删除。会解决的。