Auth

Login with Twitter

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

Overview

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

Access your Twitter Developer account

Twitter 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 Twitter 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 Twitter OAuth app

  • Click + Create Project.
    • Enter your project name, click Next.
    • Select your use case, click Next.
    • Enter a description for your project, click Next.
    • Enter a name for your app, click Next.
    • Copy and save your API Key (this is your client_id).
    • Copy and save your API Secret Key (this is your client_secret).
    • Click on App settings to proceed to next steps.
  • At the bottom, you will find User authentication settings. Click on Set up.
  • Under User authentication settings, you can configure App permissions.
  • Make sure you turn ON Request email from users.
  • Select Web App... as the Type of App.
  • Under App info configure the following.
    • Enter your Callback URL. Check the Find your callback URL section above to learn how to obtain your callback URL.
    • Enter your Website URL (tip: try http://127.0.0.1:port or http://www.localhost:port during development)
    • Enter your Terms of service URL.
    • Enter your Privacy policy URL.
  • Click Save.

Enter your Twitter 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 Twitter from the accordion list to expand and turn Twitter Enabled to ON
  • Enter your Twitter Client ID and Twitter Client Secret saved in the previous step
  • Click Save

Add login code to your client app

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


_10
async function signInWithTwitter() {
_10
const { data, error } = await supabase.auth.signInWithOAuth({
_10
provider: 'twitter',
_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