Ant*_*nyR 2 facebook-graph-api ios firebase swift firebase-authentication
我正在尝试在我的应用程序中获得有效的Facebook身份验证。
我在这里按照说明进行操作:https : //firebase.google.com/docs/auth/ios/facebook-login
当我单击Facebook登录按钮时,一切工作正常:用户已登录。在facebook登录委托方法中,可以:
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!)
Run Code Online (Sandbox Code Playgroud)
在这种方法中,我必须创建一个Firebase令牌以最终通过Firebase进行身份验证(步骤5)。这就是我要做的:
let credential = FacebookAuthProvider.credential(withAccessToken:
FBSDKAccessToken.current().tokenString)
Auth.auth().signIn(with: credential) { (user, error) in
if let error = error {
print(error.localizedDescription)
self.errorServer()
} else {
FitUtils.setFitUser(user: user)
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我的credential变量不是nil,一切正常,但是当我调用时Auth.auth().signIn(...),该方法将抛出该error变量,并且user是nil。
我没有太多有关该错误的信息:
发生内部错误,请打印并检查错误详细信息以获取更多信息。
和
error NSError domain: "FIRAuthErrorDomain" - code: 17999 0x0000604000640630
Run Code Online (Sandbox Code Playgroud)
我怀疑有关Facebook API密钥或Firebase控制台中类似错误,但我已经检查了一切都很好。
任何的想法 ?
编辑
我找到了该错误的明确描述:
UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={
code = 400;
errors = (
{
domain = global;
message = "Unsuccessful debug_token response from Facebook: {\"error\":{\"message\":\"(#100) You must provide an app access token or a user access token that is an owner or developer of the app\",\"type\":\"OAuthException\",\"code\":100,\"fbtrace_id\":\"GkGVPPBP7vo\"}}";
reason = invalid;
}
);
message = "Unsuccessful debug_token response from Facebook: {\"error\":{\"message\":\"(#100) You must provide an app access token or a user access token that is an owner or developer of the app\",\"type\":\"OAuthException\",\"code\":100,\"fbtrace_id\":\"GkGVPPBP7vo\"}}";
}}}}
(lldb)
Run Code Online (Sandbox Code Playgroud)
终于找到了答案,感谢这篇文章:
https://github.com/firebase/FirebaseUI-iOS/issues/83#issuecomment-232523935
我必须禁用选项“客户端中是否嵌入了应用秘密”?在Facebook控制台中:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1674 次 |
| 最近记录: |