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

如何调试Bearer error="invalid_token"错误?SPA与Azure AD API认证排障

排查Azure AD令牌导致API 401错误的具体方法
  • 检查令牌的**受众(Audience)**是否匹配后端API的应用ID URI
    解码令牌后查看aud字段,必须和后端Azure AD应用注册里的"API权限"->"应用ID URI"完全一致,包括开头的api://前缀。如果SPA请求的受众不对,后端会直接拒绝。

  • 验证令牌的**作用域(Scopes)**是否被后端API授权
    查看令牌的scp字段,确认里面包含后端API注册时定义的、且已被SPA应用权限授予的作用域(比如api://xxx/access_as_user)。如果作用域不存在或未授权,后端会返回401。

  • 检查令牌的过期时间(Expiration)
    查看令牌的exp字段,转换成时间戳确认是否已过期。即使jwt.io显示正常,也要确认当前时间是否在nbf(生效时间)和exp之间。

  • 确认后端API的身份验证配置是否正确
    检查后端的Azure AD验证配置:

    • 租户ID是否和令牌的tid字段一致
    • 后端应用的客户端ID(或应用ID URI)是否正确配置为验证受众
    • 如果使用MSAL.NET或类似库,确认TokenValidationParameters中的ValidAudience、ValidIssuer是否设置正确,没有遗漏必要的验证项
  • 查看Azure AD的审计日志
    登录Azure门户,进入后端应用注册的"监控"->"审计日志",搜索对应的请求事件。日志会显示令牌验证失败的具体原因,比如受众不匹配、作用域无效、令牌已撤销等,这是最直接的排查依据。

  • 检查令牌的**颁发者(Issuer)**是否合法
    令牌的iss字段格式应为https://login.microsoftonline.com/{租户ID}/v2.0(如果是v2端点),后端必须信任这个颁发者。如果后端配置的是v1端点,但SPA获取的是v2令牌,或者租户ID不匹配,都会导致验证失败。

  • 验证Postman请求的令牌携带方式是否正确
    确保Postman的请求头中Authorization字段格式为Bearer {令牌内容},没有多余的空格或符号。复制令牌到Postman时,检查是否有换行或额外字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 14:05:24