EAS credentials mismatch with gradlew SigningReport

I have been trying to setup Google Authentication since yesterday, as specified in Expo’s official docs (using react-native-google-signin library). However, I was getting error code 10 (developer error). After going through the official debugging steps, and running ./gradlew signingReport I noticed that the Signing keys that show up (SHA1 and SHA256) were different than my signing keys managed by eas (eas credentials). After I added the SHA1 I got from that command to Firebase console, redownloaded google-services.json , and rebuilt the app with npx expo run:android, it started working with no errors.

Although I’m happy I got auth working, I’m rather confused as to why the dev signing keys I got from the gradlew command were different from the ones from eas credentials. Does anyone have any idea why that is?

there are two types of keys: upload keys and app signing keys. you sign your build for upload to google play with an upload key, then google play resigns it with the app signing key. Sign your app  |  Android Studio  |  Android Developers

Hey @brents , thanks for the reply.

I’m just testing locally, and using the upload key (eas credentials) did not work. I had to whitelist (on Firebase) the SigningKey I got from running that command from the android folder. So, are there 3 keys? Local, upload (eas) and signing (Google Play)?

there is a debug keystore that is used when you run npx expo run:android, an upload key that is generated and used for release builds on EAS Build, and a signing key that Google holds for you to sign the app