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

AzureAD API授权中Microsoft.IdentityModel错误的根因排查

错误根本原因分析

IDX40003: 令牌缺少tid/tenantId声明

  • 核心原因:令牌并非来自特定Azure AD租户。个人Microsoft账户(MSA)颁发的令牌不会包含tid声明,因为这类账户不属于任何企业租户。
  • 触发场景:当用户通过Swagger/Postman使用个人邮箱(比如outlook.com)获取令牌调用API时,就会出现这个错误;而UI应用可能使用企业账户登录,令牌自带tid,所以验证正常。
  • 配置关联:如果API的Azure AD配置允许多租户或个人账户访问,但代码中强制验证tid声明,就会触发该错误日志。

IDX10516: 签名验证失败,密钥不匹配

  • 颁发者不匹配:API验证配置中指定的颁发者(issuer)与令牌实际的颁发者不一致。比如API配置为单租户,但获取了多租户(common端点)或MSA的令牌,导致API无法从正确的元数据端点拉取签名密钥,最终出现配置中密钥数量为0的情况。
  • 令牌无效或kid不匹配:令牌的密钥ID(kid)在API的TokenValidationParameters或缓存的密钥集合中找不到对应项。可能是令牌过期、被篡改,或者API未及时从Azure AD元数据端点更新签名密钥。
  • 手动调用失误:在Swagger/Postman中手动获取令牌时,可能选错了租户(比如用common而非API所在的租户ID),或者令牌的受众(aud)与API的客户端ID不匹配,导致验证流程无法加载正确的签名密钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:25:21