mirror of
https://github.com/lobehub/lobehub
synced 2026-04-21 09:37:28 +00:00
90 lines
3.2 KiB
Text
90 lines
3.2 KiB
Text
---
|
||
title: 在 LobeHub 中配置 GitHub 身份验证
|
||
description: 学习如何在 LobeHub 中配置 GitHub SSO,包括创建 GitHub App、设置环境变量和部署。
|
||
tags:
|
||
- GitHub
|
||
- 身份验证
|
||
- LobeHub
|
||
- 单点登录
|
||
---
|
||
|
||
# 配置 GitHub 身份验证
|
||
|
||
<Steps>
|
||
### 创建 GitHub App
|
||
|
||
1. 前往 [GitHub 开发者设置](https://github.com/settings/apps/new)
|
||
2. 填写 **GitHub App name** 和 **Homepage URL**
|
||
|
||
<Image alt="创建 GitHub App" inStep src="https://github.com/lobehub/lobehub/assets/64475363/2f919f99-2aaa-4fa7-9938-169d3ed09db7" />
|
||
|
||
### 配置回调 URL
|
||
|
||
<Callout type={'info'}>
|
||
回调 URL 格式:
|
||
|
||
- 本地开发: `http://localhost:3210/api/auth/callback/github`
|
||
- 生产环境: `https://your-domain.com/api/auth/callback/github`
|
||
</Callout>
|
||
|
||
按需设置 Webhook URL(不需要可禁用)。
|
||
|
||
<Image alt="填写其他字段" inStep src="https://github.com/lobehub/lobehub/assets/64475363/d7ef5ad1-b1a3-435e-b1bc-4436d2b6fecd" />
|
||
|
||
### 配置权限
|
||
|
||
设置读取用户邮箱地址的权限:
|
||
|
||
<Image alt="设置所需权限" inStep src="https://github.com/lobehub/lobehub/assets/64475363/23131ca1-9e84-4a89-a840-ef79c4bc0251" />
|
||
|
||
<Image alt="设置读取邮件地址权限" inStep src="https://github.com/lobehub/lobehub/assets/64475363/358bca8d-3d82-4e76-9a5e-90d16a39efde" />
|
||
|
||
设置公开访问还是仅自己访问。
|
||
|
||
<Image alt="设置访问权限" inStep src="https://github.com/lobehub/lobehub/assets/64475363/995780cb-9096-4a36-ab17-d422703ab970" />
|
||
|
||
点击 **Create GitHub App**。
|
||
|
||
### 生成客户端密钥
|
||
|
||
创建成功后,点击 **Generate a new client secret**。
|
||
|
||
<Image alt="创建客户端密钥" inStep src="https://github.com/lobehub/lobehub/assets/64475363/6d69bdca-7d18-4cbc-b3e0-220d8815cd29" />
|
||
|
||
保存 **Client ID** 和 **Client Secret**。
|
||
|
||
<Image alt="保存凭证" inStep src="https://github.com/lobehub/lobehub/assets/64475363/c6108133-a918-48b0-ab1a-e3fa607572a4" />
|
||
|
||
### 配置环境变量
|
||
|
||
| 环境变量 | 类型 | 描述 |
|
||
| -------------------- | -- | -------------------------------------- |
|
||
| `AUTH_SECRET` | 必选 | 会话加密密钥,使用 `openssl rand -base64 32` 生成 |
|
||
| `AUTH_SSO_PROVIDERS` | 必选 | 填写 `github` |
|
||
| `AUTH_GITHUB_ID` | 必选 | GitHub App 的 Client ID |
|
||
| `AUTH_GITHUB_SECRET` | 必选 | GitHub App 的 Client Secret |
|
||
|
||
<Callout type={'tip'}>
|
||
前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#github)
|
||
可查阅相关变量详情。
|
||
</Callout>
|
||
</Steps>
|
||
|
||
<Callout type={'info'}>
|
||
部署成功后,用户将可以通过 GitHub 身份认证并使用 LobeHub。
|
||
</Callout>
|
||
|
||
## 常见问题
|
||
|
||
### email\_not\_found 错误
|
||
|
||
这通常是因为 GitHub App 没有邮箱读取权限。前往应用设置,导航到 **Permissions & events** > **Account permissions** > **Email addresses**,设置为 **Read-only**。
|
||
|
||
### 没有 Refresh Token
|
||
|
||
GitHub OAuth 不发放 refresh token。访问令牌在用户撤销、应用撤销或一年未使用前会一直有效。
|
||
|
||
## 相关资源
|
||
|
||
- [GitHub 开发者设置](https://github.com/settings/developers)
|
||
- [GitHub Apps 文档](https://docs.github.com/en/apps)
|