Home

Login with LinkedIn

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

Overview#

update

Linkedin has updated their OAuth APIs, which has broken the current Supabase implementation. We're actively tracking this issue and you can subscribe to it for future updates.

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

Access your LinkedIn Developer account#

LinkedIn Developer Portal

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 Authentication icon in the left sidebar
  • Click on Providers under the Configuration section
  • Click on LinkedIn from the accordion list to expand and you'll find your Redirect URL, you can click Copy to copy it to the clipboard

Create a LinkedIn OAuth app#

  • Go to LinkedIn Developer Dashboard.
  • Click on Create App at the top right
  • Enter your LinkedIn Page and App Logo
  • Save your app
  • Click Auth from the top menu
  • Add your Redirect URL to the Authorized Redirect URLs for your app section
  • Copy and save your newly-generated Client ID
  • Copy and save your newly-generated Client Secret

Enter your LinkedIn credentials into your Supabase Project#

  • Go to your Supabase Project Dashboard
  • In the left sidebar, click the Authentication icon (near the top)
  • Click on Providers under the Configuration section
  • Click on LinkedIn from the accordion list to expand and turn LinkedIn Enabled to ON
  • Enter your LinkedIn Client ID and LinkedIn Client Secret saved in the previous step
  • Click Save

Add login code to your client app#

When your user signs in, call signInWithOAuth() with linkedin as the provider:


_10
async function signInWithLinkedIn() {
_10
const { data, error } = await supabase.auth.signInWithOAuth({
_10
provider: 'linkedin',
_10
})
_10
}

When your user signs out, call signOut() to remove them from the browser session and any objects from localStorage:


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

Resources#