docs/self-hosting/auth/next-auth/github.mdx
Click here to create a new Github App.
Fill in the Github App name, Homepage URL, and Callback URL.
<Image alt="Create a Github Provider" inStep src="/blog/assets64475363/2f919f99-2aaa-4fa7-9938-169d3ed09db7.webp" />Set the webhook callback URL according to your needs.
<Image alt="Fill in other fields" inStep src="/blog/assets64475363/d7ef5ad1-b1a3-435e-b1bc-4436d2b6fecd.webp" />Set the permission to read email addresses.
<Image alt="Set required permissions" inStep src="/blog/assets64475363/23131ca1-9e84-4a89-a840-ef79c4bc0251.webp" /> <Image alt="Set permission to read email addresses" inStep src="/blog/assets64475363/358bca8d-3d82-4e76-9a5e-90d16a39efde.webp" />Set whether it is accessible publicly or only accessible to yourself.
<Image alt="Set whether it is accessible publicly or only accessible to yourself" inStep src="/blog/assets64475363/995780cb-9096-4a36-ab17-d422703ab970.webp" />Click "Create Github App".
After successful creation, click "Generate a new client secret" to create a client secret.
<Image alt="Create a new client secret" inStep src="/blog/assets64475363/6d69bdca-7d18-4cbc-b3e0-220d8815cd29.webp" />After successful creation, save the Client ID and Client Secret.
When deploying LobeHub, you need to configure the following environment variables:
| Environment Variable | Type | Description |
|---|---|---|
AUTH_SECRET | Required | Key used to encrypt Auth.js session tokens. You can generate the key using the command: openssl rand -base64 32 |
NEXT_AUTH_SSO_PROVIDERS | Required | Select the Single Sign-On provider for LobeHub. Use github for Github. |
AUTH_GITHUB_ID | Required | Client ID in the Github App details page. |
AUTH_GITHUB_SECRET | Required | Client Secret in the Github App details page. |
AUTH_URL | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. Only set it if the default generated redirect address is incorrect. https://example.com/api/auth |
<Callout type={'tip'}> Go to 📘 Environment Variables for detailed information on these variables. </Callout> </Steps>
<Callout type={'info'}> After successful deployment, users will be able to authenticate with Github and use LobeHub. </Callout>