首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharePoint联机OAuth2令牌invalid_scope

SharePoint联机OAuth2令牌invalid_scope
EN

Stack Overflow用户
提问于 2019-06-09 07:53:13
回答 1查看 4.2K关注 0票数 3

我正试图为注册的Azure AD-App获取一个Bearer令牌,以便通过API读取我的所有sharepoint站点。

我遵循从微软到a) 授予应用程序的权限和b 给自己买个记号的指南

因此,我现在( a)拥有所有必需的权限:

和b)在使用作用域https://graph.microsoft.com/.default时接收到令牌

因此,我的问题是:当我试图得到一个令牌,让我们说https://microsoft.sharepoint-df.com/Sites.Read.All

代码语言:javascript
复制
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token

Body:x-www-form-urlencoded
client_id={appId}
scope=https://microsoft.sharepoint-df.com/Sites.Read.All
client_secret={secret},
grant_type=client_credentials

我得到的回报就是一个错误:

代码语言:javascript
复制
"error": "invalid_scope",
"error_description": "AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope https://microsoft.sharepoint-df.com/Sites.ReadWrite.All is not valid.\r\nTrace ID: ...\r\nCorrelation ID: ...\r\nTimestamp: 2019-06-09 07:35:21Z",
"error_codes": [
    70011
],

我做错了什么吗?我还尝试了范围https://{{tenantName}}.sharepoint.com/Sites.Read.All

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 01:28:09

您正在使用客户端凭据流来获取访问令牌。范围必须是

代码语言:javascript
复制
https://graph.microsoft.com/.default

在此请求中为scope参数传递的值应该是您想要的资源的资源标识符(应用程序ID URI),该标识符带有.default后缀。对于MicrosoftGraph示例,值为https://graph.microsoft.com/.default。此值告诉Microsoft identity platform终结点,在为应用程序配置的所有直接应用程序权限中,端点应该为与要使用的资源相关联的应用程序发出令牌。

如果必须使用特定的作用域(如https://microsoft.sharepoint-df.com/Sites.Read.All ),则可以使用auth码授予流来获取访问令牌。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56512878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档