使用Microsoft Azure AD时API调用出现net::ERR_FAILED 200问题求助
解决Azure AD场景下API调用出现
net::ERR_FAILED 200及CORS提示的问题 核心排查方向
1. 验证Azure AD令牌有效性
- 用
https://jwt.ms解析请求携带的Access Token,重点检查:aud(受众)是否与目标API的应用ID URI完全匹配(含大小写、末尾斜杠)exp(过期时间)是否未过期scp(权限范围)是否包含API所需权限,且已完成管理员同意(应用权限场景)
- 若令牌无效,核对获取令牌的流程:租户ID、客户端ID、密钥/证书是否正确,授权码/客户端凭证流程是否符合Azure AD规范
2. 重新核查CORS配置细节
- 确认目标API的CORS设置已添加前端应用的完整源地址,包括协议、域名、端口(如
https://your-frontend.com或http://localhost:3000) - 检查是否允许了请求所需的HTTP方法(GET/POST/PUT等)和自定义请求头(如
Authorization) - 若用Azure App Service托管API,确认「允许凭据」选项是否开启(前端请求带
withCredentials: true时必须开启) - 注意:Azure AD令牌通过
Authorization头传递,CORS配置必须明确允许该头
3. 排查网络与代理问题
- 检查前端环境是否有防火墙、代理拦截请求,企业内网场景下常出现修改/阻断HTTPS响应头的情况
- 用Postman直接调用API(携带有效令牌):若能正常返回200,说明问题出在浏览器CORS验证或前端网络环境;若Postman也报错,排查API本身或Azure AD权限配置
- 查看浏览器「网络」面板,确认响应中是否存在
Access-Control-Allow-Origin等CORS相关头,若不存在则API的CORS配置未生效
4. 检查证书与HTTPS配置
- 确认API的SSL证书有效、未过期且受浏览器信任(点击地址栏锁图标查看证书详情)
- 自签名证书需手动导入浏览器信任;生产环境必须使用正规CA颁发的证书
- 检查Azure App Service的TLS/SSL设置,确认已绑定正确证书,且TLS版本设置为1.2及以上
5. 核查API应用的Azure AD配置
- 确认API应用已暴露正确的API权限,且前端应用已添加对应权限的授权
- 检查API应用的「身份验证」设置,是否启用正确的身份提供者,且允许前端应用的重定向URI(授权码流程场景)
- 若API部署在Azure Functions,确认函数应用的「身份验证/授权」设置已正确配置Azure AD,且未错误阻止匿名访问
内容的提问来源于stack exchange,提问作者Vikram Gaikwad
相关产品推荐
相关产品推荐

