你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Spring Cloud 网关和 API 门户的 Microsoft Entra ID 设置单一登录

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:❌ 基本版/标准版 ✔️ 企业版

本文介绍如何使用 Microsoft Entra ID 作为 OpenID 标识提供程序为 Spring Cloud Gateway 或 API 门户配置单一登录 (SSO)。

先决条件

若要为 Spring Cloud Gateway 或 API 门户启用 SSO,需要配置以下四个属性:

SSO 属性 Microsoft Entra 配置
clientId 请参阅注册应用
clientSecret 请参阅创建客户端密码
scope 请参阅配置范围
issuerUri 请参阅生成颁发者 URI

你将在以下步骤中配置 Microsoft Entra 中的属性。

为 Spring Cloud Gateway 或 API 门户分配终结点

首先,必须按照以下步骤获取 Spring Cloud Gateway 和 API 门户的已分配公共终结点:

  1. Azure 门户中打开企业计划服务实例。
  2. 在左侧菜单中选择“VMware Tanzu 组件”下的“Spring Cloud Gateway”或“API 门户”。
  3. 选择“分配终结点”旁边的“是”。
  4. 复制用于本文下一部分的 URL。

创建 Microsoft Entra 应用程序注册

使用以下步骤注册应用程序以在应用与 Microsoft 标识平台之间建立信任关系:

  1. 在“主页”屏幕中,从左侧菜单中选择“Microsoft Entra ID”
  2. 在“管理”下,选择“应用注册”,然后选择“新建注册”
  3. 在“名称”下输入应用程序的显示名称,然后选择帐户类型以在“支持帐户类型”下注册。
  4. 在“重定向 URI (可选)”中选择“Web”,然后在文本框中输入上述部分中的 URL。 重定向 URI 是 Microsoft Entra ID 重定向用户客户端并在身份验证后发送安全令牌的位置。
  5. 选择“注册”以完成应用程序的注册

注册完成后,你将在“应用注册”*页面的“概述”屏幕上看到应用程序(客户端) ID

在应用注册后添加重定向 URI

还可以按照以下步骤在应用注册后添加重定向 URI:

  1. 在应用程序概述中,在左侧菜单中的“管理”下,选择“身份验证”。
  2. 选择“Web”,然后选择“重定向 URI”下的“添加 URI”。
  3. 添加新的重定向 URI,然后选择“保存”。

将重定向 URI 添加到身份验证屏幕的屏幕截图。

有关应用程序注册的详细信息,请参阅快速入门:将应用注册到 Microsoft 标识平台

添加客户端密码

应用程序使用客户端密码在 SSO 工作流中对自身进行身份验证。 可以使用以下步骤添加客户端密码:

  1. 在应用程序概述中,在左侧菜单中的“管理”下,选择“证书和密码”。
  2. 在“客户端密码”下,选择“新建客户端密码”。
  3. 输入客户端密码的说明,然后设置到期日期。
  4. 选择 添加

警告

请记住将客户端密码保存在安全的位置。 离开此页后,将无法检索该值。 以应用程序身份登录时,应向客户端密码提供客户端 ID。

配置范围

SSO 的 scope 属性是 JWT 标识令牌中要包含的范围列表。 它们通常称为权限。 标识平台支持多个 OpenID 连接范围,例如 openidemailprofile。 有关详细信息,请参阅 Microsoft 标识平台中的范围和权限OpenID Connect 范围部分。

配置颁发者 URI

颁发者 URI 指被断言为其颁发者标识符的 URI。 例如,如果提供的 issuer-uri 是 https://example.com,则将向 https://example.com/.well-known/openid-configuration 发出 OpenID 提供程序配置请求。

Microsoft Entra ID 的颁发者 URI 类似于 <authentication-endpoint>/<Your-TenantID>/v2.0。 将 <authentication-endpoint> 替换为云环境的身份验证终结点(例如,全局 Azure 的 https://login.microsoftonline.com),并将 <Your-TenantID> 替换为注册应用程序的目录(租户) ID。

配置 SSO

配置 Microsoft Entra 应用程序后,可以按照以下步骤设置 Spring Cloud Gateway 或 API 门户的 SSO 属性:

  1. 在左侧菜单中选择“VMware Tanzu 组件”下的“Spring Cloud Gateway”或“API 门户”,然后选择“配置”。
  2. 在相应字段中输入 ScopeClient IdClient SecretIssuer URI。 用逗号分隔多个作用域。
  3. 选择“保存”以启用 SSO 配置。

注意

配置 SSO 属性后,请记得通过设置 ssoEnabled=true 为 Spring Cloud Gateway 路由启用 SSO。 有关详细信息,请参阅路由配置

后续步骤