2017-12-27 2325 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