This app is not authorized to use Firebase Authentication.Please verify that the correct package name and SHA-1 are configured in the Firebase Console
Firebase auth was working fine, the debug build suddenly started failing without any change of code, logging the folloing message
D/PhoneAuthActivity( 7392): signInWithCredential:failure:com.google.firebase.auth.FirebaseAuthException: This app is not authorized to use Firebase Authentication. Please verifythat the correct package name and SHA-1 are configured in the Firebase Console. [ App validation failed ].
The only notable action inbetween a successful login and failure is android studio upgrade.
UPDATE (26th January 2022):
- Find
SHA-1
andSHA-256
BOTH certificateS fingerprints from the play store console.
Play store Console > Your project > Release > Setup > App integrity
- Place BOTH
SHA-1
andSHA-256
fingerprints to your firebase app one by one.
Firebase Console > Your project > Settings of the app > Add Fingerprint
Ref: Authenticating Client Using Play App Signing
TAKE CARE BELOW POINTS
- If you are using an Emulator for phone OTP verification, it won't work since it does not have a sim. So try installing it on your mobile(with sim).
- Enable app verification step is followed properly. and Android Device Verification is ENABLED.
- Make sure the correct project is selected from drop-down while enabling Android Device Verification.
- BOTH
SHA-1
andSHA-256
fingerprints to be added in the Firebase project. - After doing all the stuff, Please make sure you are using the latest/updated
google-services.json
file.
When you updated Android Studio, the debug key which is used to sign debug apps might have changed. Just add the new SHA-1 checksum of your debug key in the firebase console.
Easiest way would be to connect/sync to firebase from
Tools>Firebase>Authentication>Connect>Sync
If you want to do it manually or for release keystore, first generate SHA-1 checksum using following command:
keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME
Then copy the SHA-1 checksum and go to:
Firebase Console > Your project > Settings of the app > Add Fingerprint
For more info, read this guide: Authenticating Your Client | Google APIs for Android
If you are using a Emulator for phone OTP verification it won't work since it does not have a sim. So try installing it to your mobile(with sim) and check if the error persists.
In case of Linux Machine
Step 1: Go to Physical File Directory of your project in your file system
Step 2: Go to Your project> android>
Step 3: Press right click and open a new terminal in this directory
Step 4: Run command 'gradlew signingReport'
Step 5: Copy your SHA-1 key or SHA-56 key
Step 6: Go to Firebase Console> Your project> Project Settings> Add Fingerpring
Step 7: Paste your SHA-1 key or SHA-56 key and save.
Now, you are good to go.
Thanks.
Ok i just figured out the issue.. If you are using Play Store app signing, then the SHA1 from you distributed app will be different from the one you are using locally. Make sure you add the SHA1 key from Play Console to your app in the Firebase Console.