Back to Lobehub

在 LobeHub 中配置 Microsoft 身份验证

docs/self-hosting/auth/providers/microsoft.zh-CN.mdx

2.1.563.4 KB
Original Source

配置 Microsoft 身份验证

<Steps> ### 创建 Microsoft Entra ID 应用
  1. 前往 Microsoft Entra 管理中心
  2. 导航到 Identity > Applications > App registrations > New registration
  3. 填写应用名称
  4. 选择支持的帐户类型:
    • Single tenant:仅限组织内用户
    • Multitenant:任何 Azure AD 组织的用户
    • Multitenant + personal:也包括个人 Microsoft 帐户
<Image alt="应用注册" inStep src="https://github.com/lobehub/lobehub/assets/13883964/4f9d83bd-b3fc-4abc-bcf4-ccbad65c219d" />

配置重定向 URI

Redirect URI 部分:

  1. 选择 Web 作为平台
  2. 输入回调 URL

<Callout type={'info'}> 回调 URL 格式:

- 本地开发: `http://localhost:3210/api/auth/callback/microsoft`
- 生产环境: `https://your-domain.com/api/auth/callback/microsoft`
</Callout>

点击 Register

获取应用凭证

创建后,查看 Overview 标签页:

<Image alt="应用概览" inStep src="https://github.com/lobehub/lobehub/assets/13883964/48a0b702-05bd-4ce4-a007-a8ad00a36e5a" />

记录:

  • Application (client) ID - 即 AUTH_MICROSOFT_ID
  • Directory (tenant) ID - 单租户应用需要

创建客户端密钥

  1. 前往 Certificates & secrets > Client secrets
  2. 点击 New client secret
  3. 填写描述并选择过期时间
  4. 点击 Add
<Image alt="创建客户端密钥" inStep src="https://github.com/lobehub/lobehub/assets/13883964/c9d66fa0-158c-4bd3-a1fa-969e638259d2" />

<Callout type={'warning'}> 立即复制客户端密钥的 Value - 之后将无法再次查看。 </Callout>

配置环境变量

环境变量类型描述
AUTH_SECRET必选会话加密密钥,使用 openssl rand -base64 32 生成
AUTH_SSO_PROVIDERS必选填写 microsoft
AUTH_MICROSOFT_ID必选Application (client) ID
AUTH_MICROSOFT_SECRET必选客户端密钥值
AUTH_MICROSOFT_AUTHORITY_URL可选Microsoft Entra ID 的 Authority URL
AUTH_MICROSOFT_TENANT_ID可选单租户应用的 Directory (tenant) ID

<Callout type={'info'}> 兼容的环境变量:为了向后兼容,以下别名也支持:

- `AUTH_MICROSOFT_ENTRA_ID_ID` / `AUTH_MICROSOFT_ENTRA_ID_SECRET`
- `AUTH_AZURE_AD_ID` / `AUTH_AZURE_AD_SECRET`
- `AZURE_AD_CLIENT_ID` / `AZURE_AD_CLIENT_SECRET`
</Callout>

<Callout type={'tip'}> 前往 📘 环境变量 可查阅相关变量详情。 </Callout> </Steps>

<Callout type={'info'}> 部署成功后,用户将可以通过 Microsoft 身份认证并使用 LobeHub。 </Callout>

常见问题

客户端密钥过期

Microsoft 客户端密钥最长有效期为 24 个月。请记得在过期前轮换密钥。

相关资源