Azure APIM 中 validate-jwt 的自定义响应正文
Custom response body for validate-jwt in Azure APIM
我正在验证来自 Azure API 管理器的 JWT 令牌。我正在寻找验证失败时更改响应正文的选项。根据文档 https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies.
<validate-jwt
header-name="name of http header containing the token (use query-parameter-name attribute if the token is passed in the URL)"
failed-validation-httpcode="401"
failed-validation-error-message="Invalid Token"
token-value="expression returning JWT token as a string"
require-expiration-time="true|false"
require-scheme="scheme"
require-signed-tokens="true|false"
clock-skew="allowed clock skew in seconds"
output-token-variable-name="name of a variable to receive a JWT object representing successfully validated token">
如果我设置
failed-validation-httpcode="401" and failed-validation-error-message="Invalid Token"
验证失败时的响应将是
{
"statusCode": 401,
"message": "Invalid Token"
}
现在我需要将正文中的 "statusCode" 更改为 "status" 对
的响应
{
"status": 401,
"message": "Invalid Token"
}
在 Azure API 管理器中可以吗?
我已经通过以下转换策略成功解决了这个问题。
<on-error>
<choose>
<when condition="@(context.Response.StatusCode == 401)">
<find-and-replace from="statusCode" to="status" />
</when>
</choose>
</on-error>
我正在验证来自 Azure API 管理器的 JWT 令牌。我正在寻找验证失败时更改响应正文的选项。根据文档 https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies.
<validate-jwt
header-name="name of http header containing the token (use query-parameter-name attribute if the token is passed in the URL)"
failed-validation-httpcode="401"
failed-validation-error-message="Invalid Token"
token-value="expression returning JWT token as a string"
require-expiration-time="true|false"
require-scheme="scheme"
require-signed-tokens="true|false"
clock-skew="allowed clock skew in seconds"
output-token-variable-name="name of a variable to receive a JWT object representing successfully validated token">
如果我设置
failed-validation-httpcode="401" and failed-validation-error-message="Invalid Token"
验证失败时的响应将是
{
"statusCode": 401,
"message": "Invalid Token"
}
现在我需要将正文中的 "statusCode" 更改为 "status" 对
的响应{
"status": 401,
"message": "Invalid Token"
}
在 Azure API 管理器中可以吗?
我已经通过以下转换策略成功解决了这个问题。
<on-error>
<choose>
<when condition="@(context.Response.StatusCode == 401)">
<find-and-replace from="statusCode" to="status" />
</when>
</choose>
</on-error>