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

Azure AD认证流报错AADSTS9002326:跨域令牌兑换仅允许SPA客户端

问题分析与解决方案

错误原因

AADSTS9002326错误的核心是:请求携带了Origin请求头,但当前Azure AD应用注册的类型不允许跨域获取令牌。只有标记为「单页应用(SPA)」的应用才被允许跨域兑换令牌,而你的应用配置或请求环境不符合这个要求。Postman请求正常是因为它默认不会自动添加Origin头,避开了跨域校验。

解决方案

1. 排查Origin头的来源

  • 如果是浏览器/前端框架发起请求:浏览器会自动添加Origin头,这种场景绝对不能用客户端凭据流(会泄露client_secret),也不能用带client_secret的授权码流。
  • 如果是后端服务/脚本发起请求:检查是否手动添加了Origin头,或是代理/网关自动注入了这个头,直接移除即可。

2. 修正Azure AD应用注册配置

登录Azure门户,找到你的应用注册,进入「身份验证」页面:

  • 若是后端服务/桌面应用:
    • 删除所有SPA类型的平台配置(如果存在),仅保留「Web」平台。
    • 为授权码流添加正确的重定向URL(后端服务的回调地址)。
  • 若是前端SPA应用:
    • 确保平台配置为「单页应用(SPA)」,并添加正确的重定向URL(比如前端应用的本地地址http://localhost:3000)。
    • 使用授权码流+PKCE的方式获取令牌,不要携带client_secret(SPA无法安全存储密钥)。

3. 匹配应用类型调整请求方式

  • 客户端凭据流仅适用于后端服务/守护程序,必须在服务器端发起请求,禁止在前端环境调用。
  • 前端SPA应用必须使用PKCE版授权码流或隐式流,且应用需配置为SPA类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:01:09