为什么获取用户访问令牌会抛出 invalid_grant 错误?
Why does Get User Access token throws invalid_grant error?
我正在使用 Microsoft Graph Postman Collections 从 Postman 中测试常见的 Microsoft Graph API。但是,我在尝试 获取用户访问令牌时卡住了
下面是请求
POST /7c69806f-5754-488f-9dd8-7daa8afea4fd/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
SdkVersion: postman-graph/v1.0
cache-control: no-cache
Postman-Token: ac512133-5afe-47a3-ae9b-3b6c0b510ebd
grant_type=passwordclient_id=ebbe4872-5b7187-de6d6ddf7301client_secret=g99p8DWoxdUPY-%3F%40%5Bv7kt2g4BMxGscope=https%3A%2F%2Fgraph.microsoft.com%2F.defaultuserName=rohitdhamijagmail.onmicrosoft.compassword=Zcost%4080
在尝试 "Fetch user access token" POST API 时,出现以下错误:
{
"error": "invalid_grant",
"error_description": "AADSTS50034: The user account rohitdhamijagmail.onmicrosoft.com does not exist in the 7c69806f-5754-488f-9dd8-7daa8afea4fd directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: c0e97dd8-053d-4c99-81e4-354d7ae7d500\r\nCorrelation ID: 7e67450e-3054-48bc-b808-2f6277093dac\r\nTimestamp: 2020-03-03 09:38:09Z",
"error_codes": [
50034
],
"timestamp": "2020-03-03 09:38:09Z",
"trace_id": "c0e97dd8-053d-4c99-81e4-354d7ae7d500",
"correlation_id": "7e67450e-3054-48bc-b808-2f6277093dac",
"error_uri": "https://login.microsoftonline.com/error?code=50034"
}
用户帐户确实显示在我的 Azure 租户下,下面是附图
可能是什么问题?
注意:我已经正确配置了全局环境,因为我可以使用其他API,例如获取用户信息等
你的请求应该是这样的。
https://login.microsoftonline.com/YourTenant.onmicrosoft.com/oauth2/v2.0/token
client_id:b603c7be_Client_id_e61f925
scope:https://graph.microsoft.com/.default
client_secret:NpmwO/KDJ_client_secret:NpmwO_W0kWf1SbnL
username:tenentUser.onmicrosoft.com
password:YourUserPassword
grant_type:password
查看屏幕截图:
我正在按预期获得令牌
Step: 1
Step: 2
Step: 3
Note:
- Make sure your user belong to azure portal on your tenant
- Your Client Id belongs to that tenant
- Application secret is valid or not expired.
Update: How to get Tenant Id
更多信息请参考Official document
希望对您有所帮助。
我尝试了同样的方法,对我来说没有任何问题,可以查看的几点是,
- 要么应用程序必须在同一个活动目录下注册,要么像下面那样启用多租户,Authentication
- 该应用应具有以下权限,Permissions
- 我刚刚在邮递员电话中更新了用户名和密码,我的帐户也在 yourdomainhere.onmicrosoft.com Postman
我正在使用 Microsoft Graph Postman Collections 从 Postman 中测试常见的 Microsoft Graph API。但是,我在尝试 获取用户访问令牌时卡住了
下面是请求
POST /7c69806f-5754-488f-9dd8-7daa8afea4fd/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
SdkVersion: postman-graph/v1.0
cache-control: no-cache
Postman-Token: ac512133-5afe-47a3-ae9b-3b6c0b510ebd
grant_type=passwordclient_id=ebbe4872-5b7187-de6d6ddf7301client_secret=g99p8DWoxdUPY-%3F%40%5Bv7kt2g4BMxGscope=https%3A%2F%2Fgraph.microsoft.com%2F.defaultuserName=rohitdhamijagmail.onmicrosoft.compassword=Zcost%4080
在尝试 "Fetch user access token" POST API 时,出现以下错误:
{
"error": "invalid_grant",
"error_description": "AADSTS50034: The user account rohitdhamijagmail.onmicrosoft.com does not exist in the 7c69806f-5754-488f-9dd8-7daa8afea4fd directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: c0e97dd8-053d-4c99-81e4-354d7ae7d500\r\nCorrelation ID: 7e67450e-3054-48bc-b808-2f6277093dac\r\nTimestamp: 2020-03-03 09:38:09Z",
"error_codes": [
50034
],
"timestamp": "2020-03-03 09:38:09Z",
"trace_id": "c0e97dd8-053d-4c99-81e4-354d7ae7d500",
"correlation_id": "7e67450e-3054-48bc-b808-2f6277093dac",
"error_uri": "https://login.microsoftonline.com/error?code=50034"
}
用户帐户确实显示在我的 Azure 租户下,下面是附图
可能是什么问题? 注意:我已经正确配置了全局环境,因为我可以使用其他API,例如获取用户信息等
你的请求应该是这样的。
https://login.microsoftonline.com/YourTenant.onmicrosoft.com/oauth2/v2.0/token
client_id:b603c7be_Client_id_e61f925
scope:https://graph.microsoft.com/.default
client_secret:NpmwO/KDJ_client_secret:NpmwO_W0kWf1SbnL
username:tenentUser.onmicrosoft.com
password:YourUserPassword
grant_type:password
查看屏幕截图:
我正在按预期获得令牌
Step: 1
Step: 2
Step: 3
Note:
- Make sure your user belong to azure portal on your tenant
- Your Client Id belongs to that tenant
- Application secret is valid or not expired.
Update: How to get Tenant Id
更多信息请参考Official document
希望对您有所帮助。
我尝试了同样的方法,对我来说没有任何问题,可以查看的几点是,
- 要么应用程序必须在同一个活动目录下注册,要么像下面那样启用多租户,Authentication
- 该应用应具有以下权限,Permissions
- 我刚刚在邮递员电话中更新了用户名和密码,我的帐户也在 yourdomainhere.onmicrosoft.com Postman