当向后端发送请求时,如何设置我的 apim 资源以验证来自请求 header 的访问令牌?

How can I set my apim resource to verify access token from request header when send request to backend?

我发现门户发送了诸如“subscriptions/sid/resourceGroups/rgid/providers/Microsoft.ApiManagement/service/sid/identity”之类的请求来验证访问令牌。 有没有其他方法可以在不发送请求的情况下验证令牌?

成功后sign-in,一个Authorization header被添加到请求中,带有访问令牌(Base64编码)。

以下代码将帮助您在向后端发送请求时验证访问令牌。

<policies>  
<inbound>  <base />  
<send-request ignore-error="true" timeout="20" response-variable-name="bearerToken" mode="new">

... //code
</send-request>
<set-header name="Authorization" exists-action="override">  <value> @("Bearer " + (String)((IResponse)context.Variables["bearerToken"]).Body.As<JObject>()["access_token"]) </value>
</inbound> 

 <backend>  <base /> </backend>  
 <outbound>  <base /> </outbound>  
 <on-error>  <base /> </on-error>  
 </policies>   

详情请参考Microsoft documentation, this and SO Thread