> ## Documentation Index
> Fetch the complete documentation index at: https://thenile.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Integrate GitHub Single Sign-On with Nile Auth

<Steps>
  <Step title="Setup GitHub Developer Portal">
    1. Create a [GitHub Developer](https://github.com/settings/developers) account.
    2. Follow the documentation for [creating an OAuth App](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) in GitHub.
    3. Obtain a **Client ID** and **Client Secret** from [GitHub OAuth](https://github.com/settings/developers). Be sure to set the redirect URL to your application handling the Nile Auth requests.
           <Accordion title="Github dashboard example">
             <img height="500" width="500" src="https://mintcdn.com/nile/6B-b9nH3DSiJ_Uwi/images/auth/githubexample.png?fit=max&auto=format&n=6B-b9nH3DSiJ_Uwi&q=85&s=0f2e3261c76b906e7a0b8e9c0d21fdd9" alt="Discord SSO" data-path="images/auth/githubexample.png" />
           </Accordion>
  </Step>

  <Step title="Save Client ID and Client Secret in Nile">
    Save them to your database at `console.thenile.dev` under GitHub in **Tenants & Users -> Configuration**\\

    <img src="https://mintcdn.com/nile/ZhObK_CvFMgzM-yj/images/singlesignon/github.png?fit=max&auto=format&n=ZhObK_CvFMgzM-yj&q=85&s=cd19aa3771c26c6c855b65b54f023914" alt="GitHub configuration on console.thenile.dev" width="2024" height="1702" data-path="images/singlesignon/github.png" />
  </Step>

  <Step title="Add the `GitHub` button to your login page">
    The button will redirect the user to GitHub for authentication. Upon successful authentication, the user will be redirected back to your application.

    ```jsx theme={null}
    import { GitHub } from '@niledatabase/react';

    function App() {
      return (
        <div>
          <GitHub callbackUrl="/" />
        </div>
      );
    }
    ```
  </Step>
</Steps>

## Related Topics

* [OAuth Concepts](/auth/concepts/oauth)
* [User Management](/auth/concepts/users)
* [Other SSO Providers](/auth/singlesignon/google)
