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

Postman获取Azure AD Access Token失败,提示AADSTS900144错误:请求体缺少client_id参数

Postman获取Azure AD Access Token失败,提示AADSTS900144错误:请求体缺少client_id参数

遇到这种之前正常运行、突然掉链子的问题确实挺闹心的,我帮你梳理几个大概率能解决问题的方向:

1. 优先检查Postman的OAuth2配置是否完整

报错明确指出请求体里缺少client_id,而正常情况下Postman会自动把你配置的Client ID带入请求体,所以先重点确认:

  • 在Postman的Authorization标签下,选择OAuth 2.0后,Client ID输入框有没有填对Azure AD应用的「应用程序(客户端)ID」?会不会不小心清空或者输错了?
  • 确认Grant Type选择的是Authorization Code(你用了authorize和token两个端点,完全匹配授权码流程的要求)
  • 检查是否勾选了Send client credentials in body选项:如果你的应用是公共客户端(比如桌面/移动应用),Azure AD要求client_id必须放在请求体里;即便是机密客户端,勾选这个选项也能确保参数正确带入请求体,避免因Header传递导致的识别异常。

2. 排查环境变量与URL配置问题

你提到尝试过带{{tenant_id}}的token URL,先确认:

  • 你的Postman环境变量中tenant_id是否正确设置?虽然报错是缺client_id,但URL参数解析失败也可能导致整个请求流程异常
  • 建议优先用明确的租户ID替换占位符,比如直接用https://login.microsoftonline.com/your-tenant-id/v2.0/token测试,排除环境变量解析失败的可能

3. 手动构造请求验证端点可用性

如果Postman的自动OAuth流程还是有问题,可以直接构造Raw POST请求测试token端点,快速定位问题:

  • 请求URL:https://login.microsoftonline.com/your-tenant-id/v2.0/token
  • 请求体(选择x-www-form-urlencoded格式):
    client_id=你的客户端ID
    grant_type=authorization_code
    code=你从authorize端点获取的授权码
    redirect_uri=你在Azure AD里配置的重定向URI
    client_secret=你的客户端密钥(如果是机密客户端的话)
    

如果手动请求能成功拿到token,说明问题出在Postman的自动OAuth配置上,建议尝试:

  • 新建一个空白请求重新配置OAuth2参数
  • 清除Postman的缓存:点击左上角「Settings」→「General」→「Clear Cache」,或者在Authorization标签里点击「Clear Tokens」后重新获取

4. 快速排除Azure AD侧的配置变更

虽然你说其他应用也不行,但还是花1分钟确认下:

  • Azure AD里的目标应用是否处于启用状态?
  • 重定向URI有没有被误修改?(不过这个报错和重定向URI无关,只是做个兜底排查)

备注:内容来源于stack exchange,提问作者Mehdi Sheikh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:50:32