Fixing Firebase Auth “Missing Client Identifier” Error in Expo

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!