我正在尝试通过Facebook登录,通过OAuth收集一些数据,然后使用凭据登录到Firebase。但是,我遇到了一个问题(请参阅下面的日志)。
代码示例
@objc func signInWFB() {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.logIn(withReadPermissions: ["email","user_birthday","user_gender"], from: self) { (result, error) -> Void in
if (error == nil) {
let fbloginresult : FBSDKLoginManagerLoginResult = result!
if (result?.isCancelled)! {
print(result ?? FBSDKLoginManagerLoginResult())
} else if(fbloginresult.grantedPermissions.contains("email")) {
if((FBSDKAccessToken.current()) != nil) {
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, email, birthday, gender"]).start( completionHandler: { (connection, result, error) -> Void in
if (error == nil) {
//everything works print the user data
print(result ?? AnyObject.self)
if let d = result as? [String:Any] {
// ALL GOOD UP TO HERE
let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current()!.tokenString)
Auth.auth().signIn(with: credential) { (authResult, error) in
if let error = error {
print(error) // ERROR HERE
return
}
// ...
}
}
}
})
}
}
}
}
}
日志
错误域= FIRAuthErrorDomain代码= 17004“来自Facebook的不成功的debug_token响应:{“ error”:{“ message”:“(#100)input_token中的App_id与查看的App不匹配,” type“:” OAuthException“, “ code”:100,“ fbtrace_id”:“ BwV3jZweRqo”}}“” UserInfo = {NSLocalizedDescription =来自Facebook的debug_token失败:{“ error”:{“ message”:“(##)input_token中的App_id不匹配查看应用程序”,“类型”:“ OAuthException”,“代码”:100,“ fbtrace_id”:“ BwV3jZweRqo”}},error_name = ERROR_INVALID_CREDENTIAL}
我尝试过的
这很难找到。我必须转到Firebase>身份验证>登录方法> Facebook,并更改其中的字段以匹配Facebook开发人员上的字段。由于某些莫名其妙的原因,他们与众不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句