Azure Active Directory-授予类型密码-获取令牌问题

时间:2019-11-22 13:15:05

标签: azure azure-active-directory

所有已在Azure Active Directory中注册的


  • 我有一个活跃的tenantid
  • 我有一个使用隐式Grant_types注册的应用程序(access_token,Id_token已全部选中)
  • 我在上述应用程序中有一个活动用户:user@tenant.onmicrosoft.com
  • 用户具有所有角色(全局管理员)

现在一切看起来不错

我正在为该租户下的注册申请请求令牌

  

grant_type=password&client_id=testclientid&username=user@tenant.com&password=123456&scope=somescope

     

POST:https://login.microsoftonline.com/ <> / oauth2 / token

     

Content-Type:应用程序/ x-www-form-urlencoded

我得到的答复是

  

“错误”:“ invalid_request”,

      “ error_description”:“ AADSTS900144:请求正文必须包含以下参数:

'grant_type'。\ r \ n跟踪ID:   c65f4b9c-e68c-4cd0-906b-81d8c2329f00 \ r \ n相关ID:   517d4043-b90b-4829-9483-7d593d6af81b \ r \ n时间戳:2019-11-22   12:13:54Z“,

      “错误代码”:[

          900144
      ],


此请求有什么问题

我忘了说这个范围不是要求的一部分 资源是

  

grant_type = password&client_id = 494f5ba6-
c158e3befa08&username=user@tenant.onmicrosoft.com&password=test&resource=r4w
e36dd8-r4t5y6-4d61-89e

响应为

  

{       “错误”:“ invalid_request”,
      “ error_description”:“ AADSTS900144:请求正文必须包含以下参数:'grant_type'。\ r \ n
跟踪ID:   28ffe567-08eb-48eb-8c6b-be56d3690a00 \ r \ n
相关ID:   0974b413-f962-4c52-8fd1-ffc6e6677966 \ r \ n
时间戳:2019-11-25   13:36:44Z“,
      “错误代码”:[           900144       ],       “ timestamp”:“ 2019-11-25 13:36:44Z”,
      “ trace_id”:“ 28ffe567-08eb-48eb-8c6b-be56d3690a00”,
      “ correlation_id”:“ 0974b413-f962-4c52-8fd1-ffc6e6677966”,
      “ error_uri”:“ https://login.microsoftonline.com/error?code=900144
}

cURL请求

  

curl -X POST \
  https://login.microsoftonline.com/tenant_guid/oauth2/token
     -H'cache-control:no-cache'
-H'内容类型:   application / x-www-form-urlencoded'
-H'邮递员令牌:   f5208585-a764-ae17-9913-3fbb18c3ee85'
-d   grant_type=password&client_id=client_guid&username=user001@tenant.onmicrosoft.com&password=testpassword&resource = https://graph.microsoft.com'

相同的问题请求正文必须包含以下参数:'grant_type'

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定为什么会收到错误,因为当我使用请求正文时,它表明缺少的参数是“资源”:

  

“ AADSTS900144:请求正文必须包含以下参数:   '资源'。\ r \ n跟踪ID:   e4b4ec10-c63f-4adb-9f66-42dcc49b1100 \ r \ n相关ID:   4520fa2e-1ec8-473b-ba89-4861491e3b3e \ r \ n时间戳:2019-11-25   01:14:46Z“

根据请求正文,您正在调用v1.0 /token端点。

您应该放置“ resource”参数而不是“ scope”。请尝试看看是否可行。