Azure API管理:如何使用Microsoft身份验证到后端



我们在Azure中托管了一个.net WebAPI Web应用程序。Web应用程序使用Microsoft Identity/OAuth2进行身份验证。对于一些测试,我们授权了一些用户使用WebAPI。这是意料之中的事。

现在,我们添加了Azure API管理作为WebAPI网络应用程序的前端代理。我们添加了所有端点,但无法启用API管理来使用后端WebAPI,因为它本质上是未经授权的。我们不知道API管理如何访问它,因为它没有我们知道可以授权的身份。

需要如何做到这一点?

您可以通过在APIM上启用托管身份来实现这一点。

然后,您可以在策略中使用此MI,在后端请求上注入JWT。

<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>  

https://learn.microsoft.com/en-us/azure/api-management/api-management-authentication-policies#ManagedIdentity

最新更新