Docs

Add GitHub as a social connection

You will learn the following:

  • Use GitHub to authenticate users with OAuth

Enabling OAuth with GitHub allows your users to sign up and sign in to your Clerk app with their GitHub account.

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 page.
  2. Select Add connection and choose For all users.
  3. In the Choose provider dropdown, select GitHub.
  4. Select Add connection.

Configure for your production instance

For production instances, you must provide custom credentials which involves generating your own Client ID and Client Secret using your GitHub account.

To make the setup process easier, it's recommended to keep two browser tabs open: one for your Clerk Dashboard and one for your GitHub Developers page.

Enable GitHub as a social connection in Clerk

  1. In the Clerk Dashboard, navigate to the SSO Connections page.
  2. Select Add connection and choose For all users.
  3. In the Choose provider dropdown, select GitHub.
  4. Ensure that both Enable for sign-up and sign-in and Use custom credentials are toggled on.
  5. Save the Redirect URI somewhere secure. Keep the modal and page open.

Create a GitHub app

  1. On a separate page, go to GitHub's Developer Settings.
  2. In the sidebar, select OAuth Apps, then select New OAuth app. You'll be redirected to the Register a new OAuth app form.
  3. Enter your Application name and Homepage URL.
  4. In Authorization callback URL, paste the Redirect URI you saved from the Clerk Dashboard.
  5. Select Register application. You'll be redirected to your GitHub app's General page.

Set the Client ID and Client Secret in your Clerk Dashboard

  1. In the GitHub app's General page, select Generate a new client secret. Save your Client ID and Client secret somewhere secure.
  2. Navigate back to your Clerk Dashboard where the modal should still be open and paste these values into the respective fields.
  3. Select Add connection.

Note

If the modal or page is not still open, navigate to the SSO Connections page in the Clerk Dashboard. Select the GitHub connection. Under Use custom credentials, you can paste the Client ID and Client Secret into their respective fields.

Test your OAuth

The simplest way to test your OAuth is to visit your Clerk app's Account Portal, which is available for all Clerk apps out-of-the-box.

  1. In the Clerk Dashboard, navigate to the Account Portal page.
  2. Next to the Sign-in URL, select Visit. The URL should resemble:
  • For development – https://your-domain.accounts.dev/sign-in
  • For production – https://accounts.your-domain.com/sign-in
  1. Sign in with your GitHub account.

Feedback

What did you think of this content?

Last updated on