You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD与ADB2C租户用户互访及跨租户API权限配置问询

Azure AD与ADB2C租户互访及跨租户API访问方案

一、租户间用户直接访问的可能性

  • Azure AD租户无法直接读取ADB2C用户数据,反之ADB2C也不能直接访问Azure AD的用户目录——两者是完全独立的身份管理系统,没有原生的跨租户用户数据访问权限。
  • 若要实现ADB2C侧“访问”Azure AD用户,只能通过将Azure AD配置为ADB2C的身份提供者(IdP),让Azure AD用户登录ADB2C应用,登录时可传递用户属性声明,但这不是直接查询Azure AD用户目录。

二、ADB2C SPA访问Azure AD保护API的实现步骤

针对你的场景:ADB2C租户的SPA(ar-ADB2C)要访问Azure AD租户的API(ar-AD),需要通过建立跨租户信任关系来实现,具体配置如下:

1. 配置Azure AD侧的API应用(ar-AD)

  • 进入Azure AD租户的ar-AD应用,在「公开API」页面设置应用程序ID URI(例如api://ar-ad-unique-id),并添加所需的权限范围(如api.read),允许SPA类型的客户端访问。
  • 在「API权限」页面,添加委派权限(适配SPA的交互式登录场景),并完成权限授予操作。

2. 在ADB2C租户中添加Azure AD作为身份提供者

  • 登录ADB2C租户,进入「身份提供者」页面,新增「Microsoft Azure Active Directory」类型的IdP。
  • 配置IdP时,需提供Azure AD租户ID、在Azure AD中专门注册的信任应用ID(需提前创建这个应用用于ADB2C与Azure AD的信任交互)、客户端密钥等信息。
  • 修改ADB2C的用户旅程(User Journey),让ar-ADB2C SPA使用该Azure AD IdP完成登录流程,确保登录后能获取包含合法身份声明的JWT令牌。

3. 配置ADB2C SPA应用的API权限

  • 在ADB2C租户的ar-ADB2C应用中,进入「API权限」页面,手动添加Azure AD侧ar-AD的权限:输入ar-AD的应用程序ID URI和之前定义的范围(如api://ar-ad-unique-id/api.read)。
  • 确保SPA的认证配置中,令牌受众(aud)设置为ar-AD的应用程序ID URI,令牌格式为JWT。

4. API端验证ADB2C签发的令牌

  • 在ar-AD API中,配置ADB2C的OpenID元数据端点(格式为https://{your-b2c-tenant}.b2clogin.com/{your-b2c-tenant}.onmicrosoft.com/{your-user-journey}/v2.0/.well-known/openid-configuration)来验证令牌的签名、有效期等。
  • 额外验证令牌的aud字段是否匹配ar-AD的应用程序ID URI,iss字段是否符合ADB2C租户的签发规则。

三、核心注意事项

  • 跨租户访问的本质是身份验证信任,而非用户数据直接访问:ADB2C用户登录后访问Azure AD API,是通过令牌验证身份,若需获取Azure AD用户的额外信息,需在登录时通过IdP传递声明,或单独调用Azure AD Graph API并配置对应权限。
  • 信任关系是单向配置:此处是ADB2C信任Azure AD作为IdP,同时Azure AD的API信任ADB2C签发的令牌,需确保两端的权限和配置完全匹配。
  • 权限配置需精准:若出现令牌验证失败,优先检查API范围是否正确、权限是否已授予、令牌受众是否匹配。

内容的提问来源于stack exchange,提问作者Lev Kostychenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:33:42