我正在开发 Unity 移动应用程序。登录与 firebase 集成。用appleID和google账号登录就可以了。然而,遇到了一个问题 正在进行 Facebook 登录。
我可以使用 Facebook 帐户登录并获取令牌。但我收到以下错误消息,并使用
FacebookAuthProvider.GetCredential(fbAccessToken)
传递令牌。
错误消息:
System.AggregateException:发生一个或多个错误,(错误的访问令牌:{“code”:190,“message”:“无效的 OAuth 访问令牌 - 无法解析访问令牌”})
我处理登录的代码。我使用 UniversalSDK 第三方库进行 Facebook 登录并获取用户登录令牌。之后,将令牌字符串传递给 firebase 以获取凭据。
UniversalSDK.Ins.Login(LoginType.FACEBOOK).OnSuccess(result =>{
string fbAccessToken = result.IdToken;
string userName = result.Name;
Credential credential = FacebookAuthProvider.GetCredential(fbAccessToken);
notDestory.auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWithOnMainThread(task =>{
if (!handleFireBaseAuthError(task))
{
var result = task.Result;
result.User.TokenAsync(true).ContinueWithOnMainThread(task_jwt =>{
RequestHTTPServerUserInfo(task_jwt.Result, 1, () => { });
});
}
});
}).OnError(result => {
alert_Box.SetTypeWithDelegateCallback(Common_alert_box.AlertType.Reminder, CommonConfig.GetLangWithKey("login_facebook_failed"));
});
在我的例子中,打开了 Facebook 身份验证服务,并在 Firebase 上用机密填充了 appID。 Facebook应用程序尚未完全审核。 Firebase 是否需要提交初审才能通过访问?
终于找到了这个案例的答案。
要点:
参考资料: