错误:不允许Google id_token与此应用程序一起使用。 Firebase访问在其工作后失败

时间:2016-11-06 15:08:37

标签: android firebase firebase-authentication google-authentication

我使用Google SignIn,然后使用signInWithCredential在Firebase上进行身份验证,并传递Google凭据。

我遵循了所有程序,一切正常!然后它突然停止工作。我去了以前的工作代码,它仍然失败。所以数据库配置似乎发生了一些事情。

在Firebase DB中,我已经检查过:

  • 数据库已启动并正在运行。作为一个事实,我可以在没有记录时阅读(正如我已经通过规则定义)
  • Google的登录方式仍然是ENABLED
  • 我的应用程序仍然注册了项目配置,包括他们的SHA1签名(用于调试和发布版本)
  • 我已确认从配置下载的google-services.json文件仍与我的应用json文件相匹配

Google登录完成后,错误消息如下所示,因为我在侦听器中使用task.getException从try-catch获取:

com.google.firebase.FirebaseException: An internal error has occurred. [ Invalid Idp Response: the Google id_token is not allowed to be used with this application. Its audience (OAuth 2.0 client ID) is XXXXX-XXXXX.apps.googleusercontent.com, which is not authorized to be used in the project with project_number: XXXXX. ]
     at com.google.android.gms.internal.zzago.zzew(Unknown Source)
     at com.google.android.gms.internal.zzagl$zzg.zza(Unknown Source)
     at com.google.android.gms.internal.zzagw.zzex(Unknown Source)
     at com.google.android.gms.internal.zzagw$zza.onFailure(Unknown Source)
     at com.google.android.gms.internal.zzagr$zza.onTransact(Unknown Source)
     at android.os.Binder.execTransact(Binder.java:453)

(我将项目信息更改为XXXX)

Firebase配置中还有哪些更改?请帮忙!

修改:已解决,如下所述。您还需要在https://console.developers.google.com/apis/credentials

处查看Google API控制台

2 个答案:

答案 0 :(得分:2)

  1. 您必须在https://console.developers.google.com创建Web客户端Oauth 2.0 ID。之后,您将拥有客户端ID和秘密
  2. 打开https://console.firebase.google.com并转到身份验证 - > Google - >设置 - > Web SDK并使用您在第1步中获得的客户和秘密。

答案 1 :(得分:1)

听起来您的登录方式已发生变化。您需要进入firebase身份验证页面,并确保仍允许Google登录。

转到Firebase控制台 - >身份验证 - >登录方式  并且在登录提供商时确保已启用Google。

另外,你可以这样做:

获取您的Web客户端ID,并记下客户端ID和密码。

将此客户端ID输入Firebase项目的配置:

转到https://console.firebase.google.com的Firebase控制台 打开Auth部分 在“登录”方法下,打开Goog​​le配置,然后在“Web SDK配置”部分下添加值。