2017-12-27 834 views
0

根据this documentation,上代表流不支持在B2C:网页API链(所代理人中)

网页API链(所代理人)的Azure AD B2C不支持。

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

通过使用OAuth 2.0 JWT承载证书授权(也称为代表流),可以支持此链接的Web API方案。但是,Azure AD B2C当前未实现On-Behalf-Of流。


不能我刚刚从第一个Web API请求拉出JWT并将其传递到下一个Web API?我知道技术上,我可以,但是有没有我不想要的原因?

这种方法只有在两个Web API都配置为相同的B2C应用程序时才有效。也许这是不同之处。文档是否提到了2个独立的B2C应用程序?


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

回答

2

的OAuth的2.0所代理人的流动有关的第一资源,“https://resourceserver1”,从客户端接收的访问令牌;然后将该访问令牌交换为另一个访问令牌以供委派的身份访问第二资源“https://resourceserver2”而没有任何用户交互;然后将该访问令牌发送给第二资源。

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

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

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

+0

嗨克里斯 - 欣赏答案。这部分虽然如此:“我不能从第一个Web API请求中提取JWT并将它传递给下一个Web API?我知道技术上我可以,但是我有一个原因,我不想要?” – spottedmahn