根据我的previous question,我正在尝试为Microsoft Graph实现资源所有者授权流程身份验证 .
我能够获得访问令牌以及我想要请求的特定资源所需的范围 . 以下是我正在尝试使用的参数:
-
resource:my_client_id
-
client_id:my_client_id
-
client_secret:my_client_secret
-
用户名:my_username
-
密码:my_password
-
grant_type:密码
当我使用此访问令牌从graph.microsoft.com获取资源时,我收到一个错误:
-
要求:
https://graph.microsoft.com/beta/deviceAppManagement/mobileApps
-
Headers :
Authorization: Bearer access_token
-
错误:
"code": "InvalidAuthenticationToken","message": "Access token validation failure."
我读了一些其他帖子,因为我想查询Microsoft Graph,我需要在资源字段中提及,然后请求访问令牌 . 然后使用此令牌请求资源 . 但是,当我这样做时,我收到以下错误:
AADSTS50001:在名为abc.onmicrosoft.com的租户中找不到名为graph.microsoft.com的应用程序 . 如果租户的管理员尚未安装应用程序或租户中的任何用户同意该应用程序,则会发生这种情况 .
目标:实现访问令牌,我可以使用它来查询Microsoft AAD和Microsoft Intune(委派权限)资源 .
1 回答
我从这个thread找到了解决我问题的方法 .
我使用此URL授予我的应用程序访问资源的权限 graph.microsoft.com (之前我通过门户网站做过这个,但它没有用)
https://login.microsoftonline.com/tenant_id/oauth2/authorize?client_id=&response_type=code&redirect_uri&resource=https%3A%2F%2Fgraph.microsoft.com%2F&prompt=admin_consent
之后,我将访问令牌请求中的资源更改为graph.microsoft.com . 有了这个令牌,我成功地从Microsoft Intune和AAD获取资源 .