Skip to main content

OAuth with Google

To enable Google Auth for your project, you need to set up a Google OAuth application and add the application credentials to your Supabase Dashboard.

Overview#

Setting up Google logins for your application consists of 3 parts:

Steps#

Access your Google Cloud Platform account#

Google Developer Portal.

Create a Google Cloud Platform Project#

  • Click on Select a Project at the top left.
    • (Or, if a project is currently selected, click on the current project name at the top left.)
  • Click New Project at the top right.
  • Fill in your app information, then click Create.
    • (This can take a few minutes.)
  • This should bring you to the dashboard for your new project.

Create the OAuth Keys for your project#

From your project's dashboard screen:

  • In the search bar at the top labelled Search products and resources type OAuth.
  • Click on OAuth consent screen from the list of results.
  • On the OAuth consent screen page select External.
  • Click Create.

Edit your app information#

  • On the Edit app registration page fill out your app information.
  • Click Save and continue at the bottom.

Find your callback URL#

The next step requires a callback URL, which looks like this:

https://<project-ref>.supabase.co/auth/v1/callback

  • Go to your Supabase Project Dashboard.
  • Click on the Settings icon at the bottom of the left sidebar.
  • Click on API in the list.
  • Under Config / URL you'll find your API URL, you can click Copy to copy it to the clipboard.
  • Now just add /auth/v1/callback to the end of that to get your full OAuth Redirect URI.

Create your credentials#

  • Click Credentials at the left to go to the Credentials page
  • Click Create Credentials near the top then select OAuth client ID
  • On the Create OAuth client ID page, select your application type. If you're not sure, choose Web application.
  • Fill in your app name.
  • At the bottom, under Authorised redirect URIs click Add URI.
  • Enter your callback URI under Authorised redirect URIs at the bottom.
  • Enter your callback URI in the Valid OAuth Redirect URIs box.
  • Click Save Changes at the bottom right.
  • Click Create.

Copy your new OAuth credentials

  • A box will appear called OAuth client created.
  • Copy and save the values under Your Client ID and Your Client Secret.

Enter your Google credentials into your Supabase Project#

  • Go to your Supabase Project Dashboard
  • In the left sidebar, click the Authentication icon (near the top)
  • Click Settings from the list to go to the Authentication Settings page
  • Enter the final (hosted) URL of your app under Site URL (this is important)
  • Under External OAuth Providers turn Google Enabled to ON
  • Enter your Google Client ID and Google Client Secret saved in the previous step
  • Click Save

Add login code to your client app#

The JavaScript client code is documented here: Supabase OAuth Client Code

const { user, session, error } = await supabase.auth.signIn({  provider: 'google'})

Add this function which you can call from a button, link, or UI element.

async function signInWithGoogle() {  const { user, session, error } = await supabase.auth.signIn({    provider: 'google'  });}

To log out:

async function signout() {  const { error } = await supabase.auth.signOut();}

Resources#