Azure AD B2C中的Web API链(On-Behalf-Of)

时间:2017-12-27 20:24:08

标签: oauth-2.0 azure-ad-b2c

根据this documentation,B2C不支持代表流:

  

Azure AD B2C不支持Web API链(On-Behalf-Of)。

     

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

     

使用OAuth 2.0 JWT Bearer Credential授权可以支持此链式Web API方案,也称为On-Behalf-Of流。但是,Azure AD B2C中当前未实现On-Behalf-Of流。

我不能从第一个Web API请求中提取JWT并将其传递给下一个Web API吗?我在技术上知道,我可以,但是有一个我不想要的原因吗?

只有在为同一个B2C应用程序配置了两个Web API时,此方法才有效。也许这就是差异。文档是否涉及2个独立的B2C应用程序?

参考:Access the JWT bearer token when using the JWT middleware in ASP.NET Core

1 个答案:

答案 0 :(得分:3)

OAuth 2.0 On-Behalf-Of流与第一个资源相关," https://resourceserver1"从客户端接收访问令牌;然后将此访问令牌交换为另一个访问令牌,以便由委派的身份访问第二个资源," https://resourceserver2"没有任何用户互动;然后将该访问令牌发送到第二个资源。

This Azure AD documentation解释了On-Behalf-Of流程。

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

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