无效的请求。请求格式错误或无效。从 Azure 获取访问令牌时

Ana*_*ukh 6 azure oauth-2.0 azure-active-directory azure-ad-graph-api

我正在尝试从 Azure AD 获取访问令牌。为此,我执行了以下步骤

1) 在Azure Active Directory上创建企业应用程序

在此输入图像描述

2)我可以使用授权获取访问令牌 --->>“获取新的访问令牌”

在此输入图像描述

https://login.microsoftonline.com/<Application ID>/oauth2/token3) 点击URL的“POST”请求

已在下面配置 POST 正文

  • 授权类型为 OAuth 2.0
  • 使用“表单数据”传递正文,如下所示 在此输入图像描述

ClientID 是第一步创建的应用程序的 ApplicationID

代码也是第一步创建的应用程序的 ApplicationID

不确定我是否配置正确

4)当我尝试发送请求时使用相同的访问代码,我收到以下错误响应

`{
    "error": "invalid_grant",
    "error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: 60b8fb68-40d5-43da-9b7b-36de021c2900\r\nCorrelation ID: 90ed2f2c-1ac8-4044-8742-493a3fce51be\r\nTimestamp: 2019-07-03 12:42:32Z",
    "error_codes": [
        9002313
    ],
    "timestamp": "2019-07-03 12:42:32Z",
    "trace_id": "60b8fb68-40d5-43da-9b7b-36de021c2900",
    "correlation_id": "90ed2f2c-1ac8-4044-8742-493a3fce51be"
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请让我知道我哪里错了或者需要改变什么。

小智 10

问题是重定向URI中授权后返回的代码实际上是这样的www.yourredirecturl.com/?code=....&section_state=....

所以复制整个内容?code=; 包括&section_state并作出code错误。


Abr*_*kon 5

如果我没记错的话,您正在尝试使用 来获取令牌OAuth 2.0 code grant flow

对于此代码流程,有两个步骤:

  1. 请求授权码
  2. 使用此授权码需要请求令牌

获取授权码

您可以在浏览器或邮递员中粘贴以下代码。在邮递员中执行如下操作:

在此输入图像描述

https://login.microsoftonline.com/YourTennatId.onmicrosoft.com/oauth2/authorize?client_id=YourClentId&response_type=code&redirect_uri=https://www.getpostman.com/oauth2/callback&response_mode=query&scope=offline_access%20user.read%20mail.read
Run Code Online (Sandbox Code Playgroud)

获得授权码后,将其复制以进行下一步。

使用授权码请求访问令牌:

Token Request Endpoint: https://login.microsoftonline.com/YourTenantId/oauth2/token

client_id:YourClientId
scope:https://graph.microsoft.com/User.ReadWrite.All
redirect_uri:https://www.getpostman.com/oauth2/callback
grant_type:authorization_code
client_secret:YourAppsSecret
code:Paste Your Code Here
Run Code Online (Sandbox Code Playgroud)

邮递员格式:

在此输入图像描述

希望这能解决您的问题。