Contest Gallery documentation

Set up Google Sign-In

Create a Google OAuth web client, authorize the exact WordPress origin and connect the Client ID to Contest Gallery.

Contest Gallery 33.xPROGoogle Identity ServicesHTTPS required

Open Google Auth Platform

Use Google Auth Platform inside the Google Cloud project that will own the sign-in configuration. Keep a separate project and Client ID for testing if the production application is already in use.

Check the requirements

  • The public WordPress site uses HTTPS.
  • PHP OpenSSL support is enabled so Contest Gallery can verify Google ID tokens.
  • You can manage the Google Cloud project and the production domain.
  • The application has a public homepage and privacy policy. Add terms of service when they apply.
  • You know the canonical origin that displays the sign-in button, for example https://www.example.com.
Contest Gallery needs a Client ID, not a Client Secret: Google Identity Services returns an ID token through a browser callback. Do not paste or publish a Google Client Secret.

Create or select the Google Cloud project

Select the correct project

Open Google Cloud and select an existing project or create a dedicated project for this WordPress site.

Open Google Auth Platform

Use the Auth Platform navigation for Branding, Audience, Clients and Data Access.

Google Auth Platform overview for the Contest Gallery sign-in project showing traffic errors and active users
Google Auth Platform project. Select the project that owns the Google Sign-In configuration and open its current Auth Platform overview.

Configure branding and application links

Add a clear application name, user support email and developer contact email. For a public application, add the homepage and privacy policy from the same authorized domain. Add terms of service when they apply.

Application name

Use the website or contest name that visitors will recognize on the Google consent screen.

Authorized domain

Add the registrable domain that owns the homepage, privacy policy and terms links.

Logo and verification

A logo or additional OAuth scopes can trigger extra verification requirements. Follow the current Verification Center guidance shown for the project.

Google Auth Platform Branding page showing the Contest Gallery homepage privacy policy terms of service and authorized domain
Branding and authorized domain. Use public homepage, privacy-policy and terms links from the authorized production domain.

Choose the audience and test users

Choose External for a public WordPress site whose visitors can use regular Google accounts. Choose Internal only when sign-in must be limited to users in the same Google Workspace organization.

Stay in Testing first

Keep the app in Testing while setup is incomplete and add every Google account that should test the sign-in flow.

Use minimum data access

For Contest Gallery sign-in, the default identity scopes openid, email and profile are sufficient. Do not add sensitive scopes that the plugin does not use.

Publish after testing

When public visitors should sign in, change the publishing status according to the current Google Auth Platform guidance and complete verification if Google requests it.

Google Auth Platform Audience page showing an external application in production and OAuth user-cap information
Audience and publishing status. Choose the audience that matches the site and keep test accounts controlled until the sign-in flow is ready for production.

Create the OAuth web client

Create a client

Open Clients, choose Create client and select Web application.

Name the client

Use a descriptive name that identifies this WordPress installation.

Add the JavaScript origin

Add the exact HTTPS origin including scheme and hostname, for example https://www.example.com. Do not add a page path.

Leave redirects empty

Contest Gallery uses the Google Identity Services browser callback. It does not require an Authorized redirect URI.

Match the real origin exactly: https://example.com and https://www.example.com are different origins. Add both only when the sign-in button can genuinely be served from both. Prefer the canonical origin used by WordPress.
Google OAuth web application client showing its public Client ID and authorized JavaScript origins without a client secret
Web application client. Add the exact HTTPS site origin under Authorized JavaScript origins. Contest Gallery does not require a redirect URI for this callback flow.

Copy the Client ID

Create the web client and copy the value ending in .apps.googleusercontent.com. This public identifier is the only Google credential required by Contest Gallery.

Screenshot safely: A Client ID is not a Client Secret, but unrelated project identifiers, account names and email addresses should still be hidden in public documentation.
Google Auth Platform Clients page showing the configured Contest Gallery web application and its shortened public Client ID
Google Client ID. Copy the public Web application Client ID ending in .apps.googleusercontent.com. No Client Secret is needed by Contest Gallery.

Test and publish safely

Run the built-in domain test

Confirm that the saved Client ID works with the exact WordPress origin.

Test the public button

Use an allowed test account in a private window and confirm that the correct WordPress role is assigned.

Verify protected actions

Test every enabled flow such as login, voting, comments and frontend upload.

Move to production

Publish the Google application only after the complete flow succeeds. Complete domain or app verification when Google requests it.

Read Google brand verification guidance →

Common setup checks

Button does not appear

Use a private window, confirm that the Client ID is saved and check PHP OpenSSL support.

Origin or redirect mismatch

Compare the browser origin with Authorized JavaScript origins. Remove paths and correct www, scheme or port differences.

Access blocked in Testing

Add the Google account under Audience as a test user or publish the app when it is ready.

Google library blocked

Check consent tools, Content Security Policy and security headers for access to Google Identity Services.