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

访问被拒绝,令牌中需要存在 scp 或角色声明

邢寒
2023-03-14

使用此 URI,我正在尝试生成访问令牌

https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token

并且成功地生成了访问令牌。

我正在通过client_id、client_secret、grant_type和范围。

当我试图检查时https://jwt.io/#encoded-jwt我发现这是一个无效的签名。

当我试图通过执行以下调用访问此站点时

https://graph.microsoft.com/beta/sites/<tenant_id>/lists

使用这些访问令牌,我会得到以下错误:“AccessDenied,scp或roles声明需要出现在令牌中。”

{
    "error": {
        "code": "AccessDenied",
        "message": "Either scp or roles claim need to be present in the 
                    token.",
        "innerError": {
            "request-id": " ",
            "date": " "
        }
    }
}

为了访问网站并获得application/json格式的列表,请建议在令牌中获取角色声明时应包含哪些内容?

共有1个答案

拓拔麒
2023-03-14

配置权限后,您需要单击授予管理员同意按钮。

您可以通过解码访问令牌来检查令牌是否具有权限。

当我试图检查时https://jwt.io/#encoded-jwt我发现这是一个无效的签名。

您可以将ALGORITHM更改为HS256以解决此问题。

 类似资料:
  • 我正试图获得一个访问令牌来上传文件中描述的大文件。 我使用客户端凭证授权流来根据文档获取访问令牌。我用那个流得到了一个访问令牌。 我尝试将该访问令牌与此 URI 一起使用: 但是它给我一个错误“拒绝访问scp或角色声明需要在令牌中出现” 我已经授予该应用程序的管理员权限。我已经在postman和编码中尝试了这个流程,但是都给出了相同的错误。

  • 我们在Azure AD中有一个多租户注册的应用程序,让我们称其为租户a,我们正在尝试通过图形API在没有用户的情况下访问资源。使用以下详细信息,如果我们尝试使用资源,例如在主租户(租户a)上创建文件或文件夹,我们成功获得令牌。但是,如果我们为另一个租户运行相同的代码,例如租户B(它是租户A的租户之一),我们会得到错误:“AccessDenied:令牌中需要存在scp或roles声明。”事实上,令牌

  • 我正在尝试构建一个应用程序,该应用程序使用Microsoft Graph自动创建和读取存储在SharePoint 365中的OneNotes中的页面。 只要我登录,我就可以使用 Graph 资源管理器成功执行此操作,但无法使用 Postman 中的持有者令牌使其工作 我得到的错误是:scp 或角色声明需要存在于令牌中 我成功地获得了一个访问令牌: 并传递grant_type、client_id、c

  • 我的应用程序在调用Sharepoint /sites/root时失败,并显示403: Forbidden消息。我的授权流程遵循以下步骤。 为了得到一个代币,我首先打电话到https://login.microsoftonline.com/common/adminconsent?client_id=XXX 这允许我使用管理员登录并发现tenant_id。如果接受,调用将返回查询参数 admin_co

  • 我正在尝试使用MS Graph API从OneDrive for Business获取文件/文件夹列表。我已经在 Graph 资源管理器中成功执行了所需的查询,现在正在继续在我的项目中实现。 我的应用是 Windows 服务,因此我使用此方法获取令牌 我已成功检索到令牌,但当我“获取”此URL时… …我得到了错误的回复: scp或角色声明需要出现在令牌中。 我来自服务器的令牌响应如下:

  • 我正在使用微软图形SDK为我的应用程序(不是用户)获取访问令牌,以便从共享点读取。我一直在关注这个文档,并发布了这个SO问题。链接的SO中的代码是相同的。我能够添加应用程序权限以及在Azure门户中授予它们(通过按下按钮)。问题是,返回使用的令牌中不包含任何角色/scp声明。因此,当使用令牌时,我收到“令牌中需要存在scp或角色声明”消息。 可以肯定的是,在获取访问令牌时,我传递的范围的唯一值是: