# Add Twitch as a social connection

**Before you start**

- [A Clerk app is required.](https://clerk.com/docs/getting-started/quickstart/setup-clerk.md)
- [A Twitch account is required.](https://www.twitch.tv/signup)

Enabling OAuth with [Twitch](https://dev.twitch.tv/docs/api/reference#oauth-client-credentials-flow) allows your users to sign up and sign in to your Clerk application with their Twitch account.

You must have Two-Factor Authentication (2FA) enabled on your Twitch account to setup OAuth. To enable 2FA:

1. In the top-right of the [Twitch Developer console](https://dev.twitch.tv/console), select your avatar and select **Account Settings**.
2. Select the **Security & Privacy** tab.
3. Under **Security**, select **Set Up Two-Factor Authentication**.
4. Select **Enable 2FA**. A modal will open.
5. Enter your phone number and select **Continue**.
6. Enter the code sent to your phone and select **Continue**.
7. If you want to use an authenticator app, follow the instructions on the screen. Otherwise, select **Skip & Use SMS**.
8. Select **Done**.

## Configure for your development instance

For _development instances_, Clerk uses preconfigured shared OAuth credentials and redirect URIs—no other configuration is needed.

1. In the Clerk Dashboard, navigate to the [**SSO connections**](https://dashboard.clerk.com/~/user-authentication/sso-connections) page.
2. Select **Add connection** and select **For all users**.
3. Select **Twitch** from the provider list.

## Configure for your production instance

For _production instances_, you must provide custom credentials.

To make the setup process easier, it's recommended to keep two browser tabs open: one for the [Clerk Dashboard](https://dashboard.clerk.com/~/user-authentication/sso-connections) and one for your [Twitch Developer Console](https://dev.twitch.tv/console).

1. ### Enable Twitch as a social connection in Clerk

   1. In the Clerk Dashboard, navigate to the [**SSO connections**](https://dashboard.clerk.com/~/user-authentication/sso-connections) page.
   2. Select **Add connection** and select **For all users**.
   3. Select **Twitch** from the provider list.
   4. Ensure that both **Enable for sign-up and sign-in** and **Use custom credentials** are toggled on.
   5. Save the **OAuth Redirect URL** somewhere secure. Keep this page open.
2. ### Create a Twitch Developer app

   1. In the left sidenav of the [Twitch Developer Console](https://dev.twitch.tv/console), select **Applications**.
   2. Select **Register Your Application**. You'll be redirected to the [**Register Your Application**](https://dev.twitch.tv/console/apps/create) page.
   3. Complete the required fields. Under **OAuth Redirect URLs**, paste the **OAuth Redirect URL** you saved from the Clerk Dashboard.
   4. Select **Create**. You'll be redirected to the **Developer Applications** page where you can see your new application listed.
   5. Select **Manage** next to the application you created. You'll be redirected to your app's settings page.
   6. Select **New Secret**. Save the **Client Secret** and **Client ID** somewhere secure.
3. ### Set the Client ID and Client Secret in the Clerk Dashboard

   1. Navigate back to the Clerk Dashboard where the configuration page should still be open. Paste the **Client ID** and **Client Secret** values that you saved into the respective fields.
   2. Select **Save**.

   > If the page is no longer open, navigate to the [**SSO connections**](https://dashboard.clerk.com/~/user-authentication/sso-connections) page in the Clerk Dashboard. Select the connection. Under **Use custom credentials**, paste the values into their respective fields.
4. ### Test your connection

   The simplest way to test your connection is to visit your Clerk app's [Account Portal](https://clerk.com/docs/guides/account-portal/overview.md), which is available for all Clerk apps out-of-the-box.

   1. In the Clerk Dashboard, navigate to the [**Account Portal**](https://dashboard.clerk.com/~/account-portal) page.
   2. Next to **Sign-in**, select the button to visit the sign-in page. The URL should resemble:
      - **For development** - `https://your-domain.accounts.dev/sign-in`
      - **For production** - `https://accounts.your-domain.com/sign-in`
   3. Sign in with your connection's credentials.

---

## Sitemap

[Overview of all docs pages](https://clerk.com/docs/llms.txt)
