Azure AD B2C中的Web API链(On-Behalf-Of)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure AD B2C中的Web API链(On-Behalf-Of)相关的知识,希望对你有一定的参考价值。
根据this documentation的说法,B2C不支持代表流程:
Azure AD B2C不支持Web API链(On-Behalf-Of)。
许多体系结构包括需要调用另一个下游Web API的Web 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
OAuth 2.0 On-Behalf-Of流与第一个资源“https://resourceserver1”相关,从客户端接收访问令牌;然后将此访问令牌交换为另一个访问令牌,以便委托身份访问第二个资源“https://resourceserver2”而无需任何用户交互;然后将该访问令牌发送到第二个资源。
This Azure AD documentation解释了On-Behalf-Of流程。
鉴于此,两个不同的资源需要两个不同的应用程序,这反过来可能需要两个不同的范围。
您可以在B2C Support for on-behalf-of flow投票赞成此功能。
以上是关于Azure AD B2C中的Web API链(On-Behalf-Of)的主要内容,如果未能解决你的问题,请参考以下文章
使用 azure AD B2C 进行 blazor web api 身份验证
Azure AD B2C 连接的用户使用 Graph AD API 更改密码