If you’re encountering the dreaded [auth/missing-client-identifier]
error with Firebase Authentication in your Expo app, here’s the solution that worked for me.
The Problem
This error typically occurs when there’s a mismatch between your app’s configuration in Firebase and your actual app credentials. In my case, there seemed to be an internal linking issue between Firebase and Google Play Store that corrupted the authentication setup.
The Solution
Step 1: Delete the Old Android App
- Go to Firebase Console → Project Settings → General tab
- Find your Android app and delete it
- Important: After deletion, the app isn’t permanently removed yet
Step 2: Complete the Deletion
- A new “Deleted apps” section will appear in your Firebase project settings
- Make sure to delete the app from there as well to ensure complete removal
- This step is crucial and often missed!
Step 3: Create Fresh Android App
- Add a new Android app with the same package name and app name
- Get your SHA-256 and SHA-1 fingerprints from Expo using
eas credentials
- Add both fingerprints to Firebase (don’t use Play Store SHA keys)
Step 4: Update Configuration
- Download the new
google-services.json
- Replace the old file in your project
- Rebuild your app
The key insight was using only the SHA fingerprints from Expo credentials, not from Google Play Store. This created a clean authentication pipeline that resolved the client identifier issue completely.
After following these steps, Firebase Authentication worked perfectly again!