---
title: 在 AiPMChat 中配置 Microsoft Entra ID 身份验证服务
description: 学习如何在 AiPMChat 中配置 Microsoft Entra ID 身份验证服务，包括创建应用、新增用户和配置环境变量。详细步骤和相关资料。
tags:
  - Microsoft Entra ID
  - Microsoft Azure Portal
  - 身份验证服务
  - 应用注册
  - 环境变量
  - 用户管理
---

# 配置 Microsoft Entra ID 身份验证服务

## Microsoft Entra ID 配置流程

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

在你的 [Microsoft Azure Portal][microsoft-azure-portal] 进入 Microsoft Entra ID -> App registrations -> New registration 创建一个新的应用。

填写你想向组织用户显示的应用名称，选择你期望支持的账户类型，如果只支持内部用户请选择 `Accounts in this organizational directory only (Default Directory only - Single tenant)`。

在 `Redirect URI (optional)` 中，应用类型选择 `Web`，Callback URL, 处填写：

```bash
https://your-domain/api/auth/callback/azure-ad
```

<Callout type={'info'}>
  - 可以在 Register 后再填写或修改 Redirect URIs，但是务必保证填写的 URL 与部署的 URL 一致。 -
  your-domain 请填写自己的域名
</Callout>

<Image
  alt="App Register"
  inStep
  src="https://github.com/aipmhub/aipm-chat/assets/13883964/4f9d83bd-b3fc-4abc-bcf4-ccbad65c219d"
/>

点击「Register」

创建成功后，点击相应的应用，进入应用详情页，切换到「Overview」标签页，就可以看到相应的配置信息。

<Image
  alt="App Overview"
  inStep
  src="https://github.com/aipmhub/aipm-chat/assets/13883964/48a0b702-05bd-4ce4-a007-a8ad00a36e5a"
/>

进入「Certificates & secrets」，选择「Client secrets」标签，点击「New client secret」，填写描述，选择过期时间，点击「Add」，创建一个新的客户端密钥。

<Image
  alt="Create App Client Secret"
  inStep
  src="https://github.com/aipmhub/aipm-chat/assets/13883964/c9d66fa0-158c-4bd3-a1fa-969e638259d2"
/>

<Callout type={'important'}>请务必保存好你的客户端密钥，因为这是你唯一的机会查看它。</Callout>

### 新增用户

回到「Microsoft Entra ID」界面，进入「Users」，点击「New user」，填写用户信息，点击「Create」，创建用户以使用 AiPMChat。

### 配置环境变量

在部署 AiPMChat 时，你需要配置以下环境变量：

| 环境变量 | 类型 | 描述 |
| --- | --- | --- |
| `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥： `openssl rand -base64 32` |
| `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 AiPMChat 的单点登录提供商。使用 Microsoft Entra ID 请填写 `azure-ad`。 |
| `AZURE_AD_CLIENT_ID` | 必选 | Microsoft Entra ID 应用程序的 Client ID |
| `AZURE_AD_CLIENT_SECRET` | 必选 | Microsoft Entra ID 应用程序的 Client Secret |
| `AZURE_AD_TENANT_ID` | 必选 | Microsoft Entra ID 应用程序的 Tenant ID |
| `ACCESS_CODE` | 必选 | 添加访问此服务的密码，你可以设置一个足够长的随机密码以 “禁用” 访问码授权 |
| `NEXTAUTH_URL` | 可选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址，当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |

  <Callout type={'tip'}>
    前往 [📘 环境变量](/docs/self-hosting/environment-variable#microsoft-entra-id) 可查阅相关变量详情。

</Callout>
</Steps>

<Callout type={'info'}>
  部署成功后，用户将可以使用 Microsoft Entra ID 中配置的用户通过身份认证并使用 AiPMChat。
</Callout>

## 进阶配置

请在 [Microsoft Entra ID 学习中心][microsoft-learn-entra]，做进一步探索。

## 相关资料

- [快速注册应用指导][microsoft-entra-register-app]

[microsoft-azure-portal]: https://portal.azure.com/
[microsoft-entra-register-app]: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app
[microsoft-learn-entra]: https://learn.microsoft.com/en-us/entra/identity/
