Error: Google id_token is not allowed to be used with this application. Firebase access fails after it was working

Ariel Perez picture Ariel Perez · Nov 6, 2016 · Viewed 7.2k times · Source

I'm using Google SignIn and then authenticate on Firebase using signInWithCredential, passing the Google credentials.

I followed all the procedures, and everything was working! And suddenly it stops working. I went to a previous working code and it still fails. So it seems something happened with the database configuration.

In Firebase DB I already checked:

  • DB is up and running. As a fact I can read when not logged (as I have defined by rules)
  • Sign-in method for Google is still ENABLED
  • My App is still registered the project configuration, including their SHA1 signature (for debug and release version)
  • I have confirmed the google-services.json file downloaded from configuration still match my app json file

After Google login finish Ok, the error message is as follows as I get from my try-catch with task.getException in the listener:

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)

(I changed my project info to XXXX)

What else could have changed in the Firebase configuration? Please help!

Edit: SOLVED, as described below. You need to also take a look at the Google API console at https://console.developers.google.com/apis/credentials

Answer

alexflom picture alexflom · Sep 22, 2017
  1. You have to create Web-client Oauth 2.0 id here https://console.developers.google.com . After that you will have client id and secret
  2. Open https://console.firebase.google.com and goto Authentication -> Sign-in method -> Google -> Web SDK configuration and use client id and secret you have got on the step 1. in Web client ID & Web client secret.