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.21k forks source link

🔥[🐛] 17.4.2 Breaks Auth Login with debug provider #7039

Closed nixolas1 closed 1 year ago

nixolas1 commented 1 year ago

Issue

When upgrading from 7.4.1 to 7.4.2 logging in with SMS no longer works when developing locally, probably because of the debug provider being used, but could be something else as well.

Error: [auth/missing-client-identifier] This request is missing a valid app identifier, meaning that Play Integrity checks, SafetyNet checks, and reCAPTCHA checks were unsuccessful. Please try again, or check the logcat for more details. Error auth/missing-client-identifier

And yes, all SHA-256 fingerprints are correct and unchanged. It worked fine in 7.4.1, and the only change was upgrading all rnfb packages to 7.4.2. Still works when releasing a production build through Play Store.


Project Files

Javascript

Click To Expand

#### `package.json`: ```json "@react-native-firebase/analytics": "^17.4.2", "@react-native-firebase/app": "^17.4.2", "@react-native-firebase/app-check": "^17.4.2", "@react-native-firebase/auth": "^17.4.2", "@react-native-firebase/database": "^17.4.2", "@react-native-firebase/dynamic-links": "^17.4.2", "@react-native-firebase/in-app-messaging": "^17.4.2", "@react-native-firebase/messaging": "^17.4.2", "@react-native-firebase/perf": "^17.4.2", ``` #### `firebase.json` for react-native-firebase v6: ```json # N/A ```

iOS

Click To Expand

#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like: ```ruby # N/A ``` #### `AppDelegate.m`: ```objc // N/A ```


Android

Click To Expand

#### Have you converted to AndroidX? - [ ] my application is an AndroidX application? - [ ] I am using `android/gradle.settings` `jetifier=true` for Android compatibility? - [ ] I am using the NPM package `jetifier` for react-native compatibility? #### `android/build.gradle`: ```groovy // N/A ``` #### `android/app/build.gradle`: ```groovy // N/A ``` #### `android/settings.gradle`: ```groovy // N/A ``` #### `MainApplication.java`: ```java // N/A ``` #### `AndroidManifest.xml`: ```xml ```


Environment

Click To Expand

**`react-native info` output:** ``` System: OS: macOS 13.0 CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz Memory: 6.86 GB / 32.00 GB Shell: 5.8.1 - /bin/zsh Binaries: Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v16.14.0/bin/yarn npm: 9.2.0 - ~/.nvm/versions/node/v16.14.0/bin/npm Watchman: Not Found Managers: CocoaPods: 1.11.3 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4 Android SDK: Not Found IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8815526 Xcode: 14.3/14E222b - /usr/bin/xcodebuild Languages: Java: 11.0.12 - /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/javac npmPackages: @react-native-community/cli: Not Found react: 18.1.0 => 18.1.0 react-native: 0.70.5 => 0.70.5 react-native-macos: Not Found npmGlobalPackages: *react-native*: Not Found ``` - **Platform that you're experiencing the issue on**: - [ ] iOS - [x] Android - [ ] **iOS** but have not tested behavior on Android - [x] **Android** but have not tested behavior on iOS - [ ] Both - **`react-native-firebase` version you're using that has this issue:** - `e.g. 17.4.2` - **`Firebase` module(s) you're using that has the issue:** - `Auth` - **Are you using `TypeScript`?** - `N`


mikehardy commented 1 year ago

What did adb logcat say, as the error message indicates?

Also, appears there is some good information in the first few hits: https://search.brave.com/search?q=%5Bauth%2Fmissing-client-identifier%5D+This+request+is+missing+a+valid+app+identifier%2C+meaning+that+Play+Integrity+checks%2C+SafetyNet+checks%2C+and+reCAPTCHA+checks+were+unsuccessful

github-actions[bot] commented 1 year ago

Hello 👋, to help manage issues we automatically close stale issues.

This issue has been automatically marked as stale because it has not had activity for quite some time.Has this issue been fixed, or does it still require attention?

This issue will be closed in 15 days if no further activity occurs.

Thank you for your contributions.

sleekLancelot commented 11 months ago

Play integrity is only available on a playstore build. You are using expo or a dev-client right? Get the appcheck token from your firebase console add it to your eas.json file.

 "build": {
    "development": {
      ....,
      "env": {
        .......,
        "FIREBASE_APP_CHECK_DEBUG_TOKEN": "A1F28A22-5039-4FD0-B29C-02F738462BC2"
      }
    },
}