Majd Harb
Majd Harb

Reputation: 85

Firebase OTP working fine on debug apk but not release apk

I am using flutter and firebase OTP. The SMS is received while running the debug APK of my app. However, I am getting this message while running the release APK using the command flutter run --release.

This is the returned message:

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. [ A safety_net_token was passed, but no matching SHA-256 was registered in the Firebase console. Please make sure that this application’s packageName/SHA256 pair is registered in the Firebase Console. ]

Kindly note that I am running this app directly on my phone and not by installing it from google play.

I tried the following on firebase console:

  1. Debug keys
  2. Release Keys
  3. Google Play signing and upload keys certificates.
  4. Also my google-services.json is up-to-date.
  5. Flutter clean and pub get before running in order to make sure that the changes will occur.

I tried all the solutions presented by similar questions such as adding an email in firebase, adding google play keys, etc. and unfortunately none of them worked.

Update: Solved, the problem was wrong naming inside the manifest file as the error message stated:
Please make sure that this application’s "packageName/SHA256" pair is registered in the Firebase Console. Usually, it is the sha1 or sha256 keys, however this time it was the package name.

Upvotes: 4

Views: 2866

Answers (4)

Anand Singh
Anand Singh

Reputation: 21

You will have to add 4 SHA keys.

Run cd android, then run ./gradlew signingReport

I assume you have already added debug SHA keys, because you can send OTP on debug builds.

Scroll up on the output of signingReport and look for Variant: release, copy SHA1 and SHA-256 from here and add them into firebase app, in addition to the debug keys.

Hope this helps!

Upvotes: 2

Aqueeb Qazi
Aqueeb Qazi

Reputation: 31

  1. do flutter clean and flutter pub get then.
  2. use flutter fire cli to link the firebase project
  3. Generate a signin report by doing cd android and .\gradlew signingReport
  4. look for gradient release and upload that vairent sha1 and sha256 key. hope this sloves your problem.

Upvotes: 3

Mobin Ansar
Mobin Ansar

Reputation: 710

You need to add SHA Keys in firebase console, to get SHA KEY

  • Open Android Studio
  • Open Project
  • Reveal android folder
  • Right click "gradlew" file and select Open in Terminal
  • Go to the terminal view and paste: gradlew signingReport

You will find the SHA-1 fingerprint in the "Gradle Console"

Add this SHA-1 fingerprint in firebase console and test again

Upvotes: 1

Hardik Mehta
Hardik Mehta

Reputation: 2415

You have to generate SHA-1 for relase build and add it to the firebase console for the same project that you have registered.

Upvotes: 2

Related Questions