---
title: 在 LobeHub 中配置 Microsoft 身份验证
description: >-
  学习如何在 LobeHub 中配置 Microsoft (Entra ID / Azure AD) SSO，包括在 Azure Portal
  创建应用和设置环境变量。
tags:
  - Microsoft
  - 身份验证
  - Azure AD
  - LobeHub
  - 单点登录
---

# 配置 Microsoft 身份验证

<Steps>
  ### 创建 Microsoft Entra ID 应用

  1. 前往 [Microsoft Entra 管理中心](https://entra.microsoft.com/)
  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'}>
    前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#microsoft)
    可查阅相关变量详情。
  </Callout>
</Steps>

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

## 常见问题

### 客户端密钥过期

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

## 相关资源

- [Microsoft Entra 管理中心](https://entra.microsoft.com/)
- [快速入门：注册应用](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app)
