Microsoft Access令牌请求错误 - 400错误请求

时间:2017-02-20 09:11:00

标签: rest api azure microsoft-graph

我正在尝试从访问代码中获取访问令牌。但是有400错误请求错误

的错误

我正在使用此链接获取访问代码

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&response_type=code&redirect_uri=http://localhost/Home/About&scope=mail.read

响应此链接我在返回url的查询字符串中获取代码 码= Mh12d04c8-8ea9-c82b-8cc5-b93cf913382c

我正在使用此代码获取访问令牌

https://login.microsoftonline.com/common/oauth2/v2.0/token?redirect_uri=http://localhost:51296/Home/AAA&client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&client_secret=Rmi2PNLPNM5agLh5aT5G82W&code=Mh12d04c8-8ea9-c82b-8cc5-b93cf913382c&scope=mail.read

但它提供400 Bad Request。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

对于这类问题,正如@RasmusW建议的那样,您可以使用像Fiddler这样的工具来查找响应中的内部错误消息。正如@ Dan Kershaw指出的那样,您需要确保令牌请求中的回复地址URL与授权代码请求中的回复地址相匹配。否则您将收到错误:回复地址' xxxxx'与回复地址不匹配' xxxx'请求授权代码时提供。

根据您的要求,您正在使用授权代码流与v2.0端点。您必须在令牌请求中添加“ grant_type ”参数,并且授权代码流的值必须为“ authorization_code ”。如果内部错误消息是“AADSTS90014:请求正文必须包含以下参数:' grant_type”,请先检查它。有关v2.0端点中OAuth 2.0授权代码流的详细信息,请单击here

  

我可以将个人Microsoft帐户与Microsoft Graph API一起使用

是.V2.0端点允许开发人员使用单个auth端点编写接受来自Microsoft帐户和Azure AD帐户登录的应用程序。