使用下面的URL,我得到了代码。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=appId
&redirect_uri=http://localhost:8000/auth/microsoft/callback
&response_type=code
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345
字符串
现在,我通过Postman生成了访问令牌和刷新令牌,参数包括代码值:
POST https://login.microsoftonline.com/common/oauth2/v2.0/token
client_id=appId
grant_type=authorization_code
scope=https://graph.microsoft.com/.default offline_access
client_secret=client_secret
code=M.C105_BAY.2.1d853a8b-20f2-xxxx-xxxx-d37779217xxx
redirect_uri=http://localhost:8000/auth/microsoft/callback
型
我已成功获取访问令牌和刷新令牌。
现在,我尝试在下面的API中使用刷新令牌获取访问令牌,
POST https://login.microsoftonline.com/common/oauth2/v2.0/token
grant_type:refresh_token
redirect_uri:http://localhost:8000/microsoft/sso/callback
client_id=appId
client_secret=client_secret
refresh_token:M.C105_BAY.-CcIfFlVtnsRVHLnEtb0PnIZAvXWez8thRn8rQ91qZ86nMpDUw9Wt08ezOOlzR!mlDDs*ijok5X3y1YHZ*hTSpG!jgwQdXI8atQRVGWXkV8LzJFlUXvdZnxB3PZRmFZGm!eTg5Y0TPiyXOQzWEDHkkVVOzOb91KRQ!0qCW5ayM226JMju*thcINXIZbq6aoCRo!XqUGYusb90oSGqSZrfH48mBQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSr0ga1X42RDpU6jRQmx6cYKFvC56D*XrfkFjwJN!y9fk0fm9Vt1xnmlignR!PfZujKQtXXXXXO35FNc$
scope:https://graph.microsoft.com/.default
型
我得到下面的错误,
请建议在此获得访问令牌。
1条答案
按热度按时间n1bvdmb61#
如果您没有在请求中正确传递
Content-Type
头,则通常会出现错误 “AADSTS 900144:The request body must contain the following parameter:'grant_type'”。当我在**
form-data
中传递请求体,并将header添加为Content-Type:application/x-www-form-urlencoded
时,我也得到了相同的错误**,如下所示:字符串
回复:
x1c 0d1x的数据
要解决此错误,您需要删除手动添加的
Content-Type:application/x-www-form-urlencoded
头,或者以x-www-form-urlencoded形式传递请求正文。在我的例子中,我以x-www-form-urlencoded的形式传递了请求体,而没有删除
Content-type
头,并获得了如下所示的访问令牌:型
回复:
的
如果您更喜欢以form-data形式传递请求体,请确保删除您手动添加的
Content-Type:application/x-www-form-urlencoded
头。