You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure APIM中validate-jwt策略验证失败,如何排查具体原因?

排查APIM中JWT令牌验证失败的具体原因
  • 启用请求跟踪日志
    在APIM门户找到目标API,进入「测试」标签页,发送请求时开启「跟踪」功能;或者通过APIM实例的「诊断设置」启用详细日志记录。查看跟踪结果里的<validate-jwt>节点,日志会明确记录验证失败的具体原因,比如签名无效、令牌过期、受众不匹配等。

  • 调整策略输出错误详情
    修改<validate-jwt>策略,添加on-error块,将错误信息写入响应头(仅用于排查,生产环境建议关闭)。示例配置:

    <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Invalid token">
        <!-- 你的JWT验证配置(如issuer、allowed-audiences等) -->
        <on-error>
            <set-header name="X-JWT-Error" exists-action="override">
                <value>@(context.LastError.Message)</value>
            </set-header>
            <set-header name="X-JWT-Error-Details" exists-action="override">
                <value>@(context.LastError.Details)</value>
            </set-header>
        </on-error>
    </validate-jwt>
    

    请求失败后,查看响应头中的X-JWT-Error和X-JWT-Error-Details,就能直接获取验证失败的具体原因。

  • 手动解码令牌核对信息
    用JWT解码工具(注意保护敏感数据)解析令牌的Header和Payload,逐一核对:

    • 签名算法是否与APIM策略中配置的一致
    • exp(过期时间)是否未超过当前时间
    • aud(受众)是否匹配策略里的allowed-audiences
    • iss(签发者)是否与策略中的issuer一致
    • 其他自定义声明是否符合策略要求

内容的提问来源于stack exchange,提问作者onkami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:35:23