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

APIM validate-jwt验证Graph API令牌失败(IDX10511)求助

问题原因与修复方案

核心问题分析

你遇到的IDX10511错误本质是JWT受众(aud字段)验证失败:

  • APIM的validate-jwt策略默认会检查令牌的aud值是否匹配当前APIM API的标识符(比如你在APIM中配置的API URL或自定义标识符)。
  • Graph API令牌的aud固定为https://graph.microsoft.com,和你的APIM API标识符不匹配,导致验证失败。
  • 而az account get-access-token默认获取的令牌aud是management.core.windows.net,恰好和你的APIM API标识符匹配,所以能通过验证。

另外,jwt.io提示的签名问题是因为它默认没有加载AAD完整的签名密钥集,APIM通过配置的openid-config能自动获取正确密钥,解决受众问题后签名验证会自动通过。

修复方案

根据你的需求(仅验证令牌由租户颁发、有效且存在,无需限制受众),有两种可选方案:

方案1:禁用受众验证

修改validate-jwt策略,添加validate-audience="false"属性,跳过aud字段检查,只验证令牌的核心有效性(签名、过期、颁发者等):

<validate-jwt header-name="Authorization" failed-validation-httpcode="403" failed-validation-error-message="Bad JWT" require-scheme="Bearer" validate-audience="false">
  <openid-config url="https://login.microsoftonline.com/TENANT-ID-HERE/v2.0/.well-known/openid-configuration" />
  <openid-config url="https://login.microsoftonline.com/TENANT-ID-HERE/.well-known/openid-configuration" />
</validate-jwt>

方案2:明确允许Graph API受众

如果想更严格(仅接受针对Graph的令牌),可以在策略中添加audience节点指定https://graph.microsoft.com:

<validate-jwt header-name="Authorization" failed-validation-httpcode="403" failed-validation-error-message="Bad JWT" require-scheme="Bearer">
  <openid-config url="https://login.microsoftonline.com/TENANT-ID-HERE/v2.0/.well-known/openid-configuration" />
  <openid-config url="https://login.microsoftonline.com/TENANT-ID-HERE/.well-known/openid-configuration" />
  <audience>https://graph.microsoft.com</audience>
</validate-jwt>

补充说明

两种方案都不需要额外创建应用注册,完全符合你低摩擦部署的需求,后续你可以正常用APIM托管身份调用后端服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:56:16