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

使用JMeter认证Azure AD时遇AADSTS900144错误求助

排查JMeter对接Azure AD时的AADSTS900144错误

我按照《Authenticating to Azure AD with JMeter without plugins》配置JMeter无插件对接Azure AD,始终遇到以下错误:

{"error":"invalid_request","error_description":"AADSTS900144: The request body must contain the following parameter: 'grant_type'. Trace ID: 93481b5XXXXX6337da00 Correlation ID: b7d28456-9a58-4XXXXXXXXX6939710 Timestamp: 2024-09-13 09:50:09Z","error_codes":[900144],"timestamp":"2024-09-13 09:50:09Z","trace_id":"93481b52XXXXXXX-ca5e6337da00","correlation_id":"b7d28456-9a58-4XXXXXXXX939710","error_uri":"https://login.microsoftonline.com/error?code=900144"}

JMeter配置截图

HTTP请求基础配置
HTTP请求头配置
HTTP请求参数配置
HTTP请求Body Data配置
变量配置


错误原因

AADSTS900144错误直接指向核心问题:请求体中缺少OAuth2认证必填的grant_type参数。这个参数用于告知Azure AD你使用的授权类型,是所有Azure AD token请求的强制参数。

解决方法

  1. 添加grant_type参数
    根据你选择的认证流程,在请求体中添加对应值的参数:

    • 密码授权流(账号密码直接认证):grant_type=password
    • 客户端凭证流(服务间认证):grant_type=client_credentials
    • 授权码流(需前端跳转授权):grant_type=authorization_code
  2. 确保参数提交方式正确

    • 该参数必须通过POST请求的请求体提交(选择JMeter的「Parameters」或「Body Data」标签),不能作为URL查询参数传递
    • 确认HTTP请求头中已设置Content-Type: application/x-www-form-urlencoded,这是Azure AD token端点要求的参数提交格式
  3. 补全配置遗漏
    对照原博客的步骤检查,原配置流程中必然包含grant_type参数的设置,确认是否遗漏该步骤,或参数值与你实际使用的认证流程不匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:27:09