0

我的 Flutter 项目正在尝试通过 Facebook 登录向 Firebase Auth 添加新用户,但失败并出现以下错误:

I/flutter (30934): [firebase_auth/invalid-credential] 提供的身份验证凭据格式错误或已过期。[来自 Facebook 的 debug_token 响应不成功:{"error":{"message":"Invalid OAuth access token.","type":"OAuthException","code":190,"fbtrace_id":"MY_TRACE_ID"}} ]

我正在使用包

flutter_facebook_login: ^3.0.0
firebase_auth: ^0.18.3+1

并通过登录

FacebookLoginResult result = await FacebookLogin().logIn(['email']);
final auth.AuthCredential credential = auth.FacebookAuthProvider.credential(result.accessToken.token);
try {
  await auth.FirebaseAuth.instance.signInWithCredential(credential);
} catch (e){
  print(e);
}

try 中的行失败,上面的错误是从 catch 中打印出来的。

Facebook 登录工作正常,我可以看到我已从我的 FB 帐户正确登录到该应用程序。我已经尝试过以下解决方案:

  1. 确保 FB 开发者控制台、firebase FB auth 页面以及应用内的 App ID 和 App Secret 都匹配。
  2. 在 FB 开发人员控制台中,转到设置 -> 高级并制作“应用程序机密是否嵌入在客户端中?” 设置为“否”。
  3. 删除 FB App 并重新制作。
4

2 回答 2

2

问题解决了!问题在于如何在 Facebook 开发者控制台上设置应用程序。首次创建应用程序时,您会看到以下菜单

在此处输入图像描述

我最初选择了“构建或连接到游戏”,因为它说它用于连接到在 Facebook 平台上或关闭的游戏应用程序时使用,这最能描述我的应用程序。我在 FB 上重新设置了应用程序,但现在选择了“建立互联体验”,现在它可以工作了。不知道为什么。

于 2021-01-21T12:34:09.800 回答
0

Facebook 身份验证应用程序类型

如果您在React to do your authentication指定的类别中使用,则图像中显示的选项对我有用。

你也可以这样做。这是来自 Facebook 的应用类型选择 UI 的更新版本dated 5th January, 2022

于 2022-01-05T09:41:31.467 回答