首页 > 解决方案 > 无法生成访问令牌和刷新令牌

问题描述

我正在尝试对 OneDrive 执行文件传输自动化。为此,我需要从 Microsoft_AAD_RegisteredApps 生成访问令牌和刷新令牌。但是,我成功完成了前面的所有步骤。

以下是我的 POST REQUEST

POST /common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 119

grant_type=authorization_code&client_id=XXXXXXXXXXXXXXXXXXXXX&code=XXXXXXXXXXXXXXXX
```. 
client_id -> Client ID generated from the APP
code -> Code generated by the below url

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fnativeclient&response_mode=query&scope=User.Read% 20offline_access%20Files.ReadWrite

Unfortunately I'm getting 404  always as response. May I know what is missing my code or I miss any certification or license. Anyway please help me to find out the issue 


标签: azure-active-directoryonedrive

解决方案


它似乎缺少一些参数,例如scope,redirect_uriclient_secret,但我没有重现您的问题。所以我提供了我的请求的细节供你参考,在我的测试中请求是成功的。

在此处输入图像描述

有关授权码流程的更多信息,您可以参考本教程

顺便说一句,您的请求中似乎存在一些小问题。我注意到你提出的另一个帖子。根据该帖子的信息,我认为您可能需要检查是否Content-Type正确,并且即使您使用post方法,您似乎也将查询 url 中的参数放在请求 url 之后。您可能需要将参数放在请求正文中,而不是放在查询 url 中。如果将它们放在请求 url 后面的查询 url 中,则不会在后端代码中检索它们。后端代码将首先检索参数grant_type,因此它总是会显示must contain grant_type错误。

希望有帮助~


推荐阅读