设置 Microsoft Entra ID (OIDC) 单点登录 (SSO)
只需极少的配置,这个连接器即可与 Microsoft Entra ID(前身为 Azure AD)集成,实现企业单点登录 (SSO)。
有关 SSO 和如何在 Logto 中配置 SSO 的更多信息,请查看 企业单点登录 (SAML & OIDC) 文档以开始使用。
步骤 1:创建 Microsoft EntraID OIDC 应用
-
前往 Microsoft Entra 管理中心 并以管理员身份登录。
-
浏览到 Identity > Applications > App registrations。

-
选择
New registration
。 -
输入应用程序名称,并为你的应用程序选择适当的账户类型。
-
选择
Web
作为应用程序平台。 -
从 Logto 的 SSO 设置页面复制并粘贴
redirect URI
。redirect URI
是用户在通过 Microsoft Entra ID 认证后被重定向的 URL。

- 点击
Register
创建应用程序。
步骤 2:在 Logto 配置 Microsoft Entra ID OIDC 单点登录 (SSO)
成功创建 Microsoft Entra OIDC 应用后,你需要将 IdP 配置返回到 Logto。在 Logto 控制台的 Connection
标签页,填写以下配置信息:
- Client ID:由 Microsoft Entra 分配给你的 OIDC 应用的唯一标识符。Logto 使用此标识符在 OIDC 流程中识别并认证该应用。你可以在应用概览页面找到它,显示为
Application (client) ID
。

- Client Secret:创建一个新的 client secret,并将其值复制到 Logto。此密钥用于认证 OIDC 应用,并保障 Logto 与 IdP 之间的通信安全。

-
发行者 (Issuer):发行者 (Issuer) URL,是 IdP 的唯一标识符,指定了可以找到 OIDC 身份提供商的位置。它是 OIDC 配置中的关键部分,有助于 Logto 发现所需的端点。
你无需手动提供所有这些 OIDC 端点,Logto 会自动获取所有必需的配置和 IdP 端点。这是通过你提供的发行者 (Issuer) URL 并调用 IdP 的 discover 端点实现的。
要获取发行者 (Issuer) URL,你可以在应用概览页面的
Endpoints
部分找到。找到
OpenID Connect metadata document
端点,并复制该 URL,不要包含末尾的.well-known/openid-configuration
路径。因为 Logto 在获取 OIDC 配置时会自动将.well-known/openid-configuration
添加到发行者 (Issuer) URL 后面。

- Scope(可选):Logto 会在所有请求中自动包含所需的权限(Scopes)(
openid
、profile
和email
)。如果你的应用需要从 IdP 获取额外的权限或访问级别,可以以空格分隔的列表形式指定其他权限(Scopes)。
点击 Save
完成配置流程
步骤 3:附加权限 (Scopes)(可选)
Scope(权限)定义了你的应用从用户那里请求的权限,并控制你的应用可以从他们的 Microsoft Entra ID 账户访问哪些数据。请求 Microsoft Graph 权限需要在两端进行配置:
在 Microsoft Entra 管理中心:
- 导航到 Microsoft Entra ID > 应用注册,并选择你的应用程序。
- 前往 API 权限 > 添加权限 > Microsoft Graph > 委托权限。
- 只选择你的应用所需的权限:
- OpenID 权限:
openid
(必需)- 登录用户profile
(必需)- 查看用户的基本资料email
(必需)- 查看用户的电子邮件地址offline_access
(可选)- 仅当你在 Logto 连接器中启用为持久 API 访问存储令牌并需要获取用于长期访问 Microsoft Graph API 的刷新令牌 (Refresh token) 时才需要。
- API 访问(可选):添加你的应用所需的其他权限。常见的 Microsoft Graph 权限包括
Mail.Read
、Calendars.Read
、Files.Read
等。浏览 Microsoft Graph 权限参考 以查找可用权限。
- OpenID 权限:
- 点击 添加权限 以确认选择。
- 如果你的应用需要某些权限的管理员同意,点击 为[你的组织]授予管理员同意。

在 Logto Microsoft Entra ID 连接器中:
- Logto 会自动包含
openid
、profile
和email
scope(权限),以获取基本的用户身份信息。如果你只需要基本的用户信息,可以将Scopes
字段留空。 - 如果你计划为持久 API 访问存储令牌,请在
Scopes
字段中添加offline_access
。此 scope(权限)可启用用于长期 API 访问的刷新令牌 (Refresh token)。 - 若需从 Microsoft Graph 请求更多数据,在
Scopes
字段中添加额外的 scope(权限)(用空格分隔)。请使用标准 scope 名称,例如:User.Read Mail.Read Calendars.Read
如果你的应用请求这些 scope(权限)以访问 Microsoft Graph API 并执行操作,请确保在 Logto Microsoft Entra ID 连接器中启用为持久 API 访问存储令牌。详见下一节。
步骤 4:存储令牌以访问 Microsoft API(可选)
如果你想访问 Microsoft Graph API 并在用户授权 (Authorization) 下执行操作,Logto 需要获取特定的 API 权限 (Scopes) 并存储令牌。
- 在你的 Microsoft Entra 管理中心 API 权限 (Scopes) 配置和 Logto Microsoft Entra ID 连接器中添加所需的权限 (Scopes)。
- 在 Logto Microsoft Entra ID 连接器中启用为持久 API 访问存储令牌。Logto 会将 Microsoft 访问令牌 (Access token) 和刷新令牌 (Refresh token) 安全地存储在 Secret Vault 中。
- 为确保返回刷新令牌 (Refresh token),请在你的 Microsoft Entra ID 应用权限 (Scopes) 中添加
offline_access
权限 (Scope),并在 Logto Microsoft Entra ID 连接器的权限 (Scopes) 中包含它。此权限 (Scope) 允许你的应用长时间访问资源。
步骤 5:设置邮箱域并启用 SSO 连接器
在连接器体验 (Experience) 选项卡中提供你组织的电子邮件 domains
。这将为这些用户启用 SSO 连接器作为认证 (Authentication) 方法。
拥有指定域名电子邮件地址的用户将被专门限制只能使用你的 SSO 连接器作为他们唯一的认证 (Authentication) 方法。