当前位置: 首页 > 知识库问答 >
问题:

使用哪个范围来获取Microsoft凭据的访问令牌

帅博简
2023-03-14

我正在尝试执行邮递员访问令牌请求以访问以下api:

然而,返回的结果总是相同的:

"error": {         
"code": "Unauthorized",     
"message": "Unauthorized",   
"target": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"       
}

职位:https://login.microsoftonline.com/{租户id}/oauth2/v2.0/令牌

身体:

client_id:我的客户端id
范围:https://graph.microsoft.com/.default
client_secret:我的客户端机密
grant_type:client_credentials

标题:

内容类型:x-www-form-urlencoded

响应返回给我一个令牌,第一个请求显然无法识别。。。

我试过几个作用域,例如:/。默认,用户。读取openid配置文件offline_access,https://graph.microsoft.com/.default...
即使他们都给我一个代币,但他们似乎都不管用
我还添加了WindowsDefenderATP的权限

问题是范围吗?如果我有客户端凭据授予类型,我应该使用什么范围?

共有1个答案

刘松
2023-03-14

您可以在文档中关注此页面。

您需要一个应用程序权限,因为您只使用应用程序凭据进行请求。在这种情况下,我认为你需要脆弱性。阅读。所有许可。添加所需权限后,不要忘记授予管理员许可。

以下是您应该使用的范围:

https://api.securitycenter.microsoft.com/.default
 类似资料:
  • 发布https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token http/1.1 但无法访问https://graph.microsoft.com/v1.0/users/{id}/calendars。我得到的信息与此类似:

  • 授权端点和令牌端点允许客户端使用“scope”请求参数指定访问请求的范围。反过来,授权服务器使用“scope”响应参数通知客户端颁发的访问令牌的范围。 范围参数的值表示为以空格分隔,大小写敏感的字符串。 由授权服务器定义该字符串。如果该值包含多个空格分隔的字符串,他们的顺序并不重要且每个字符串为请求的范围添加一个额外的访问区域。 scope = scope-token *( SP scope-to

  • 编辑:C#请求示例 编辑:我获得令牌的方式

  • 我的主要目的是通过单个管理员访问令牌获取用户的日历。我正在尝试按照以下步骤获取访问令牌。 URL:https://login.microsoftonline.com/{tenentId}/oaust2/v2.0/令牌正文client_id:client_ID范围:https://graph.microsoft.com/.defaultclient_secret:client_secretIDgra

  • 我按照以下步骤操作:https://learn.microsoft.com/en-us/graph/auth-v2-service我注册了一个模拟应用程序,并向图形添加了应用程序权限。没有一个权限需要管理员同意,所以我跳过了这一步。然后我使用

  • 我在这里有点迷路,需要一些直接的请。我是新来Java,这是我试图写的第一个程序,显然与它斗争了一个月左右。因此,目前我们使用邮递员输入客户端ID/秘密从第三方应用编程接口获得访问令牌,使用该令牌我们可以从第三方的另一个终端请求资源。我正在尝试引用多个资源,如此Spring安全示例https://github.com/spring-projects/spring-security/blob/mast