Azure AD生成令牌报错AADSTS9002326内网调用失败排查咨询
排查方向与配置核查清单
报错AADSTS9002326的核心触发逻辑是:Azure AD判定当前令牌请求来自跨域上下文,但目标应用未配置为「单页应用(SPA)」类型,因此拒绝跨域兑换令牌。以下是分维度的排查项:
一、请求上下文差异核查
优先排查内网环境下生产客户端的请求与公网、UAT环境的差异:
- 抓包对比内网/公网下生产客户端请求令牌的头信息,重点核查
Origin、Referer字段:即使是服务端发起的客户端凭据流,只要请求意外携带了非空Origin头,Azure AD就会触发跨域校验,Web类型应用默认不允许跨域兑换令牌 - 核查内网环境的出站代理、WAF、网关组件:确认是否存在组件自动为出站到Azure AD的请求添加
Origin、Referer头,或修改原有请求头的逻辑 - 对比生产与UAT客户端的请求发起逻辑:确认生产客户端在内网环境下是否误走浏览器上下文发起请求(例如前端代理转发调用),而公网/UAT环境均为后端服务直接发起请求(无跨域头)
二、Azure AD应用注册配置核查
逐项对比生产与UAT客户端应用的配置差异:
- 核查「平台配置」:确认生产客户端应用仅配置了Web平台,没有误添加SPA平台,也没有将内网使用的地址配置到SPA平台的重定向URI列表中
- 核查「身份验证」>「高级设置」>「允许公共客户端流」:确认生产应用的配置与UAT完全一致,符合公共客户端的配置要求
- 核查「令牌配置」>「可选声明」:确认生产应用没有额外配置与来源校验、跨域相关的可选声明,导致Azure AD对其校验规则更严格
- 核查「API权限」:确认生产客户端的权限配置与UAT一致,所有权限已完成管理员同意,无待生效的权限配置
三、租户级与网络策略核查
- 核查针对生产应用的条件访问策略:确认是否存在策略限定了生产客户端的允许访问IP范围,内网出口IP不在允许范围内时触发了额外的校验逻辑
- 核查租户级CORS配置:确认是否对UAT应用配置了单独的CORS放行规则,而生产应用未配置对应内网源站的CORS许可
- 核查内网域名解析规则:确认内网环境下Azure AD域名解析到的IP与公网一致,没有配置私有端点、自定义解析导致请求进入不同的Azure AD接入节点,触发差异化校验
快速验证方法
在内网环境下用Postman等工具直接模拟客户端凭据流请求,不携带任何Origin头调用令牌端点,若可正常获取令牌,即可直接定位问题为原有请求的请求头被篡改、或请求发起上下文不符合服务端调用要求。
内容的提问来源于stack exchange,提问作者hiFI
相关产品推荐
相关产品推荐

