stack/docs-mintlify/guides/apps/authentication/auth-providers/github.mdx
2026-04-06 17:21:49 -07:00

72 lines
3.1 KiB
Plaintext

---
title: "GitHub"
description: "Set up GitHub as an authentication provider with Stack Auth"
---
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.
<Info>
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.
</Info>
## Integration Steps
<Info>
If you are unsure if you need to create a GitHub App, or a GitHub OAuth App, check the [Differences On GitHub](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps).
More than likely, you will want to create a GitHub App. The installation process is the same for both.
</Info>
<Steps>
<Step>
### Create a GitHub App
1. Navigate to your [GitHub Developer App Settings](https://github.com/settings/apps).
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**.
</Step>
<Step>
### 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.
</Step>
</Steps>
***
<Accordion title="GitHub OAuth App installation">
<Steps>
<Step>
### Create an OAuth App
1. Navigate to your [GitHub Developer Settings](https://github.com/settings/developers).
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**.
</Step>
<Step>
### 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.
</Step>
</Steps>
</Accordion>
### Need More Help?
* Check the [GitHub OAuth Documentation](https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps)
* Join our [Discord](https://discord.stack-auth.com)