Skip to content

Google

Members sign in with their Google account. On Android the sheet belongs to the operating system and the member never leaves your app; everywhere else it opens the browser and returns.

ConsoleGoogle Cloud Console
Endpoint groupSocial Login
EmailReturned, and verified — Google can match an existing account
Signs inInside the app on Android, in the browser elsewhere

Google is the one provider where the app and the website need separate OAuth clients. Read The Android client before you finish, because it is the step that has no field on the Memberside side and is therefore the one people skip.

  1. Open the Google Cloud Console and pick or create a project.

    A project is a container for the credentials. One per site is tidy; one for everything you run is also fine.

  2. Configure the OAuth consent screen.

    Under APIs & Services → OAuth consent screen, choose External unless every member has an account in your Google Workspace. Fill in the app name, the support email and the developer contact email. These are what your members read on the consent screen, so use the community’s name, not yours.

  3. Add the email and profile scopes.

    Nothing more is needed. Asking for more triggers Google’s verification review for no benefit.

  4. Create the credentials.

    APIs & Services → Credentials → Create credentials → OAuth client ID, type Web application.

  5. Add the redirect URI.

    Under Authorized redirect URIs, paste the address from Memberside → API Keys → Social Login → Google. It looks like https://yoursite.com/wp-json/memberside/v1/social/callback/google. See Redirect URLs.

  6. Copy the client ID and client secret.

Do this second, in the same project.

  1. Create another OAuth client ID, type Android.

  2. Enter your package name.

    The same application id your app is built with. It is on the app’s build settings in the builder.

  3. Enter the SHA-1 certificate fingerprint.

    The fingerprint of the certificate your app is signed with — see Android signing for where to find it.

  4. Once the app is on Google Play, add the Play App Signing SHA-1 too.

    Google Play re-signs your upload with its own key, so the certificate on members’ phones is not the one you signed with. Add both fingerprints to the same client.

This is why Google sign-in works in the preview and fails on a real phone. The preview uses the browser flow and the web client; the built app uses the SDK and the certificate.

Under Memberside → API Keys → Social Login → Google:

FieldValueRequired
Client IDThe web client IDYes
Client secretThe web client secretYes
iOS client IDThe iOS OAuth client, if you created oneNo
Android client IDThe Android client, for your records onlyNo

The iOS client ID is only read by the in-app Google button on iOS. The browser flow uses the web client ID above it.

SymptomCauseFix
Works in preview, fails in the built appThe SHA-1 is not registered against an Android clientAdd it, then sign in again — no rebuild needed
Fails after the app went live on Google PlayPlay re-signed the app with its own keyAdd the Play App Signing SHA-1 as well
“redirect_uri_mismatch”The registered URI differs from the one sentCopy it again from the API Keys screen
“This app is blocked” or a verification warningThe consent screen is unpublished and the member is not a test userPublish the consent screen
“Access blocked: authorization error”The web client is of the wrong typeIt must be Web application, not Android or iOS
The button is missing entirelyNot picked on the featureChoosing providers