Azure AD B2C 中的 Web API 链(代表)

spo*_*ahn 1 oauth-2.0 azure-ad-b2c

根据此文档,B2C 中不支持代理流:

Azure AD B2C 不支持 Web API 链(代表)。

许多体系结构包含需要调用另一个下游 Web API 的 Web API,两者均由 Azure AD B2C 保护。这种情况在具有 Web API 后端的本机客户端中很常见,后端又调用 Microsoft 在线服务,例如 Azure AD Graph API。

可以使用 OAuth 2.0 JWT Bearer Credential grant(也称为 On-Behalf-Of 流)来支持这种链接的 Web API 场景。但是,代表流目前未在 Azure AD B2C 中实现。


我不能从第一个 Web API 请求中提取 JWT 并将其传递给下一个 Web API 吗?我知道从技术上讲,我可以,但有什么我不想的理由吗?

这种方法只有在为同一个 B2C 应用程序配置了两个 Web API 时才有效。也许这就是区别。文档可能是指 2 个单独的 B2C 应用程序吗?


参考:在 ASP.NET Core 中使用 JWT 中间件时访问 JWT 不记名令牌

Chr*_*ett 6

OAuth 2.0 On-Behalf-Of 流程与第一个资源“ https://resourceserver1 ”相关,它从客户端接收访问令牌;然后将此访问令牌交换为另一个访问令牌,以便委托身份访问第二个资源“ https://resourceserver2 ”,无需任何用户交互;然后将该访问令牌发送到第二个资源。

此 Azure AD 文档解释了代表流程。

鉴于此,两个不同的资源需要两个不同的应用程序,而这又可能需要两个不同的范围。

您可以在B2C Support for on-behalf-of flow投票支持此功能。

  • 幸运的是,现在链接已失效。谢谢微软 (2认同)
  • 我不敢相信今天仍然不受支持 (2认同)