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

使用Postman调用OAuth 2.0授权码流时grant_type参数异常如何解决?

解决Postman调用Azure AD OAuth2授权码流时的AADSTS900144错误

核心问题定位

该错误的本质是Azure AD的token端点未正确接收到grant_type参数,通常是Postman请求体格式或参数配置不符合端点要求导致的——和你能正常工作的OkHttp配置对比,核心差异在于参数的传递方式。

具体修复步骤

  • 确认请求基础配置:确保请求使用POST方法,目标URL为Azure AD的v2.0 token端点(格式示例:https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token)。
  • 切换正确的请求体类型:在Postman的「Body」标签下,选择x-www-form-urlencoded格式,这是OAuth2 token端点要求的标准表单格式,和你OkHttp中的配置一致。
  • 完整填写必填参数:在表单中逐一添加以下参数,确保参数名和值完全准确:
    • grant_type:固定填写authorization_code
    • code:之前获取到的有效授权码(注意授权码有效期仅5分钟,过期需重新获取)
    • client_id:你的Azure AD应用程序ID
    • client_secret(仅机密客户端需要):应用程序对应的客户端密钥
    • redirect_uri:必须与Azure AD应用中配置的重定向URI完全一致
    • scope:和授权请求时使用的scope保持一致(例如openid offline_access)
  • 检查请求头配置:切换到「Headers」标签,确认Postman自动添加了Content-Type: application/x-www-form-urlencoded请求头,不要手动修改或删除该头。
  • 禁用其他请求体格式:不要使用raw、form-data等格式,这些格式无法被Azure AD的token端点正确解析,会导致grant_type参数丢失。

额外排查点

如果是公共客户端(如单页应用),无需传递client_secret,但要确保Azure AD应用的类型配置为对应的公共客户端类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:57:14