oAuth2 grant_type问题Curl vs Postman

whitzsjs  于 12个月前  发布在  Postman
关注(0)|答案(1)|浏览(171)

我正在尝试从AAD服务获取令牌以进行身份验证。
Postman 工作的时候,

Grant_Type="Client_credentials", 
Token URL = "https://login.microsoftonline.com/XXXXXX/oauth2/v2.0/token",
Clinet_ID="XXXX",
Client_Secret="xxxx",
Scope="https://graph.microsoft.com/.default

字符串
但curl不适用于以下命令中的相同值

curl --request POST \
--url 'https://login.microsoftonline.com/xxxxxxx/oauth2/v2.0/token' \
--header 'content-type: application/json' \
--data '{"grant_type":"client_credentials","client_id": "XXXXXX","client_secret": "XXXXXXX"\, 
"scope": "https://graph.microsoft.com/.default"


我得到以下错误
“error”:“invalid_request”,“error_description”:“AADSTS 900144:请求体必须在此处输入代码contain the enter >code here以下参数:在此处输入代码请输入'grant_type'
需要帮助

nbewdwxp

nbewdwxp1#

使用curl命令的形式如下:

curl --request POST \
--url 'https://login.microsoftonline.com/xxxxxxx/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=XXXXXXXXX' \
--data-urlencode 'client_secret=XXXXXXXXX' \
--data-urlencode 'scope=https://graph.microsoft.com/.default' \
--verbose

字符串

相关问题