你当前正在访问 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 门户的 Enterprise 计划实例。 有关详细信息,请参阅快速入门:使用企业计划生成应用并将其部署到 Azure Spring Apps。
- 足以管理 Microsoft Entra 应用程序的权限。
若要为 Spring Cloud Gateway 或 API 门户启用 SSO,需要配置以下四个属性:
SSO 属性 | Microsoft Entra 配置 |
---|---|
clientId | 请参阅注册应用 |
clientSecret | 请参阅创建客户端密码 |
scope | 请参阅配置范围 |
issuerUri | 请参阅生成颁发者 URI |
你将在以下步骤中配置 Microsoft Entra 中的属性。
为 Spring Cloud Gateway 或 API 门户分配终结点
首先,必须按照以下步骤获取 Spring Cloud Gateway 和 API 门户的已分配公共终结点:
- 在 Azure 门户中打开企业计划服务实例。
- 在左侧菜单中选择“VMware Tanzu 组件”下的“Spring Cloud Gateway”或“API 门户”。
- 选择“分配终结点”旁边的“是”。
- 复制用于本文下一部分的 URL。
创建 Microsoft Entra 应用程序注册
使用以下步骤注册应用程序以在应用与 Microsoft 标识平台之间建立信任关系:
- 在“主页”屏幕中,从左侧菜单中选择“Microsoft Entra ID”。
- 在“管理”下,选择“应用注册”,然后选择“新建注册”。
- 在“名称”下输入应用程序的显示名称,然后选择帐户类型以在“支持帐户类型”下注册。
- 在“重定向 URI (可选)”中选择“Web”,然后在文本框中输入上述部分中的 URL。 重定向 URI 是 Microsoft Entra ID 重定向用户客户端并在身份验证后发送安全令牌的位置。
- 选择“注册”以完成应用程序的注册。
注册完成后,你将在“应用注册”*页面的“概述”屏幕上看到应用程序(客户端) ID。
在应用注册后添加重定向 URI
还可以按照以下步骤在应用注册后添加重定向 URI:
- 在应用程序概述中,在左侧菜单中的“管理”下,选择“身份验证”。
- 选择“Web”,然后选择“重定向 URI”下的“添加 URI”。
- 添加新的重定向 URI,然后选择“保存”。
有关应用程序注册的详细信息,请参阅快速入门:将应用注册到 Microsoft 标识平台。
添加客户端密码
应用程序使用客户端密码在 SSO 工作流中对自身进行身份验证。 可以使用以下步骤添加客户端密码:
- 在应用程序概述中,在左侧菜单中的“管理”下,选择“证书和密码”。
- 在“客户端密码”下,选择“新建客户端密码”。
- 输入客户端密码的说明,然后设置到期日期。
- 选择 添加 。
警告
请记住将客户端密码保存在安全的位置。 离开此页后,将无法检索该值。 以应用程序身份登录时,应向客户端密码提供客户端 ID。
配置范围
SSO 的 scope
属性是 JWT 标识令牌中要包含的范围列表。 它们通常称为权限。 标识平台支持多个 OpenID 连接范围,例如 openid
、email
和 profile
。 有关详细信息,请参阅 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 属性:
- 在左侧菜单中选择“VMware Tanzu 组件”下的“Spring Cloud Gateway”或“API 门户”,然后选择“配置”。
- 在相应字段中输入
Scope
、Client Id
、Client Secret
和Issuer URI
。 用逗号分隔多个作用域。 - 选择“保存”以启用 SSO 配置。
注意
配置 SSO 属性后,请记得通过设置 ssoEnabled=true
为 Spring Cloud Gateway 路由启用 SSO。 有关详细信息,请参阅路由配置。