invertase / react-native-firebase

šŸ”„ A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
https://rnfirebase.io
Other
11.64k stars 2.2k forks source link

[šŸ›] I don't receive SMS message (status code: 17093) #6859

Closed TsplayerT closed 1 year ago

TsplayerT commented 1 year ago

Issue

I'm developing an Android application using Expo. šŸ”„

Using a physical device (SM-A705MN, Android 11 - API 30) connected via USB (Win 10 Home 21H2) when typing my phone number, a popup appears with the error message:

Error: [auth/missing-client-identifier] This request is missing a valid app identifier, meaning that neither Safety checks nor reCAPTCHA checks succeeded. Please try again, or check the logcat for more details.

Further in the command line tool (logcat) dumped this log:

E/FirebaseAuth(32314): [SmsRetrieverHelper] SMS verification code request failed: unknown status code: 17093 null

Note: when I put the phone number for testing on the login providers settings page (authentication) I receive the API information normally even without receiving a text message by SMS


Project Files

Javascript

Click To Expand

#### `package.json`: ```json "dependencies": { "@react-native-firebase/app": "16.5.2", "@react-native-firebase/app-check": "16.5.2", "@react-native-firebase/auth": "16.5.2", "@react-native-firebase/firestore": "16.5.2", "expo": "47.0.13", "react": "18.2.0", "react-native": "0.71.1" } ```


Environment

Click To Expand

- **Platform that you're experiencing the issue on**: - [ ] iOS - [x] Android - [ ] Both - **`react-native-firebase` version you're using that has this issue:** - `16.5.2` - **Are you using `TypeScript`?** - `4.9.4`

Attachments

Click To Expand

[SMS-verification-code-request-failed.log](https://github.com/invertase/react-native-firebase/files/10492791/SMS-verification-code-request-failed.log) ![680039c8-3503-4a7e-b11f-7ef719850644](https://user-images.githubusercontent.com/6465230/214372642-87dbe183-cef0-4117-b537-43f325cfd300.png)


mikehardy commented 1 year ago

Hi there! This is a project-specific configuration issue, it will not result in a change to this module so I will close this issue after submitting this comment

There is prior knowledge in our issues list that discusses how to get the SHA-1 and SHA-256 of your app, I assume with a new app you are using the ABB bundle style so you'll need to go to the google play dashboard for your app and get the SHA-1/SHA-256 for the key that google play uses to re-sign the app with, and put that in the firebase console. Most likely anyway...

https://github.com/invertase/react-native-firebase/issues?q=is%3Aissue+auth%2Fmissing-client-identifier

https://search.brave.com/search?q=firebase+auth%2Fmissing-client-identifier

TsplayerT commented 1 year ago

Firebase is already configured with the SHA-1 and SHA-256 fingerprints of the development security certificates (debug.keystore)

I also already added the SHA-1 and SHA-256 fingerprints of the app signing key certificate found in the Google Play Console, but I don't think it should interfere with anything at this point.

I'm sorry, but I don't understand what I need to do to receive SMS text messages normally.

mikehardy commented 1 year ago

Perhaps through the vagaries of the Expo build process, the google-services.json for your firebase app from the firebase console is not being included in your build

I'm not sure exactly what is going on but this error means your project is not configured. Firebase does not recognize the app talking to it. Either because it is not identified at all (the JSON file) or because it is not signed in a way it recognizes (the SHAs). I'm not sure what you need to do either but it will be something in your configuration

TsplayerT commented 1 year ago

I deleted the android folder and ran the command npx expo prebuild --clean generated this folder again and included the google-services.json configuration file again

This log also appeared in the command line tool (logcat):

SMS verification code request failed: Unknown status code: 17028 A safety_net_token was transmitted, but no matching SHA-256 was registered in the Firebase console. Make sure this app's packageName/SHA256 pair is registered in the Firebase Console.

In the App, this popup appeared with the following error message:

Error: [auth/app-not-authorized] This app is not authorized to use Firebase Authentication. Make sure 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. Make sure this app's packageName/SHA-256 pair is registered in the Firebase console. ]

That last part of the error message might help me understand what it would be: application's packageName/SHA256 pair ?

Attachments ![image](https://user-images.githubusercontent.com/6465230/214433386-ffb9bee9-3a99-494c-aaa0-8ff8172ccac6.png)
mikehardy commented 1 year ago

With apologies, we use this issue tracker to track and fix errors in the package, it is not a general help desk. Stackoverflow is a general helpdesk and appears to have related information:

https://search.brave.com/search?q=A+safety_net_token+was+passed%2C+but+no+matching+SHA-256+was+registered+in+the+Firebase+console.+Make+sure+this+app%27s+packageName%2FSHA-256+pair+is+registered+in+the+Firebase+console&source=desktop

longb1997 commented 1 year ago

+1, did you resolve this? @TsplayerT

TsplayerT commented 1 year ago

@longb1997 I deleted the android folder and after automatically recreating it, I added the JSON file in the android/app/google-services.json directory

Cleversou1983 commented 1 year ago

I'm using expo prebuild and facing the same issue...