Back to Lobehub

Configuring Github Authentication Service for LobeHub

docs/self-hosting/auth/next-auth/github.mdx

2.1.563.6 KB
Original Source

Configuring Github Authentication Service

Github Configuration Process

<Steps> ### Create a Github Provider

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.

<Image alt="Create a new client secret" inStep src="/blog/assets64475363/c6108133-a918-48b0-ab1a-e3fa607572a4.webp" />

Configure Environment Variables

When deploying LobeHub, you need to configure the following environment variables:

Environment VariableTypeDescription
AUTH_SECRETRequiredKey used to encrypt Auth.js session tokens. You can generate the key using the command: openssl rand -base64 32
NEXT_AUTH_SSO_PROVIDERSRequiredSelect the Single Sign-On provider for LobeHub. Use github for Github.
AUTH_GITHUB_IDRequiredClient ID in the Github App details page.
AUTH_GITHUB_SECRETRequiredClient Secret in the Github App details page.
AUTH_URLRequiredThis 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>