Login with Twitter

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


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 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:

async function signInWithTwitter() {
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'twitter',

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

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