当向后端发送请求时,如何设置我的 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。
我发现门户发送了诸如“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。