Skip to main content

Obtaining configuration information

Please note that you do not need Firebase to configure Google Sign In. However, if you use Firebase, it's a little easier to set up the sign in experience because Firebase gives you one file to download and put into your project.

If you're using Expo EAS and Firebase, read credentials docs to learn how to obtain information for step 2 of the firebase setup.

Without Firebase

iOS

You need to obtain the ios client id and reversed client id.

Follow the instructions at "Get an OAuth client ID" and then "Configure your application project".

Android

Follow the instructions at "Configure a Google API Console project".

Please see more details here if needed. It's important that OAuth 2.0 android id has fingerprint set correspondingly to the fingerprint of certificate which is used to sign the apk. Also, package name should be the same as apk package name.

WebClientId

When done configuring your project, take note of webClientId which you may need later. It can be found here. Make sure you select the correct project. webClientId should be under OAuth section.

With Firebase

If you don't already have a project in Firebase you need to create one in order to add credentials for your iOS and Android application.

Firebase console

1. Add your iOS and Android App inside Project settings

Project settings

2. Enter required information and download the config file

Note: For Android, adding the SHA1 hash is an obligation

You can use your debug keystore's SHA1 hash, read this StackOverflow thread to obtain it. When running the keytool command, MAKE SURE you provide path to the correct keystore, you may have multiple keystores on your system! (eg in home directory, and also directly in the android/app folder). To see what keystore is being used to sign your app, go to android/app/build.gradle and look for storeFile entries.

If you don't have a keystore, you need to generate one. To generate your keystore follow this guide.

IMPORTANT if you have multiple keystores (and you likely do - eg. debug and release) you'll need to get the SHA1 hashes for all of them and save the hashes to Firebase!