Stack Auth
WelcomeGuides
SDKComponentsAPI Reference
OverviewFAQ
Getting Started
SetupComponentsUsersProductionVite JavaScript Example
Apps
API KeysEmailsOAuthOrgs and TeamsRBAC PermissionsWebhooksPayments
Concepts
Backend IntegrationCustom User DataJWT Tokens
OAuth Providers
GitHubGoogleFacebookMicrosoftSpotifyDiscordGitLabAppleBitbucketLinkedInX (Twitter)TwitchPasskeyTwo-Factor Authentication (2FA)
Stack AppTeam SelectionUser Onboarding
Customization
Custom PagesCustom StylesDark ModeInternationalization
Page Examples
Other
CLI AuthenticationSelf-hostSupabaseConvexMCP Setup
Stack Auth Docs
OAuth Providers

GitHub

Last updated Jan 13th, 2026

This guide explains how to set up GitHub as an authentication provider with Stack Auth. GitHub allows users to sign in to your Stack Auth-enabled app using their GitHub account.

For Development purposes, Stack Auth uses shared keys for this provider. Shared keys are automatically created by Stack, but show Stack's logo on the OAuth sign-in page. You should replace these before you go into production.

Integration Steps

If you are unsure if you need to create a GitHub App, or a GitHub OAuth App, check the Differences On GitHub. More than likely, you will want to create a GitHub App. The installation process is the same for both.

Create a GitHub App

  1. Navigate to your GitHub Developer App Settings.
  2. Click the New GitHub App button.
  3. Enter a name for your application, homepage URL, and a description.
  4. For Authorization callback URL, add https://api.stack-auth.com/api/v1/auth/oauth/callback/github
  5. For permissions, at a minimum, you will need Account Permissions > Email Addresses set to Read Only. Your sign-in flow will not work without this permission.
  6. Select Any Account under the Where can this GitHub App be installed section.
  7. Click Create GitHub App
  8. Save the Client ID and click Generate a new client secret to create your Client Secret.

Enable GitHub Provider in Stack Auth

  1. On the Stack Auth dashboard, select Auth Methods in the left sidebar.
  2. Click Add SSO Providers and select GitHub as the provider.
  3. Set the Client ID and Client Secret you obtained from your GitHub App earlier.

GitHub OAuth App installation

Create an OAuth App

  1. Navigate to your GitHub Developer Settings.
  2. Click the New OAuth App button.
  3. Enter a name for your application, homepage URL, and a description.
  4. For Authorization callback URL, add https://api.stack-auth.com/api/v1/auth/oauth/callback/github
  5. Click Register application
  6. Save the Client ID and click Generate a new client secret to create your Client Secret.

Enable GitHub OAuth in Stack Auth

  1. On the Stack Auth dashboard, select Auth Methods in the left sidebar.
  2. Click Add SSO Providers and select GitHub as the provider.
  3. Set the Client ID and Client Secret you obtained from GitHub earlier.

Need More Help?

  • Check the GitHub OAuth Documentation
  • Join our Discord
Previous PageAuth Providers Overview
Next PageGoogle

On this page

Integration StepsCreate a GitHub AppEnable GitHub Provider in Stack AuthCreate an OAuth AppEnable GitHub OAuth in Stack AuthNeed More Help?

Stack Auth AI

Experimental: AI responses may not always be accurate—please verify important details.

For the most accurate information, please join our Discord or email us.

How can I help?

Ask me about Stack Auth while you browse the docs.