Postman 中的 OAuth 2.0 {"error_description":"Invalid issuer or signature."}

OAuth 2.0 {"error_description":"Invalid issuer or signature."} in Postman

我正在尝试在 SharePoint Online 中执行 REST API 调用。为此,我想看看我是否可以在 Azure AD 中注册一个应用程序。我相信我能够这样做并且能够取回令牌。但是,在执行 GET 请求时,Postman 总是在响应正文中抛出 {"error_description":"Invalid issuer or signature."}

以下是详细说明所有内容的屏幕截图:

不要介意 Postman 变量 {{TenantID}}。这不是问题,我也尝试使用写出的租户 ID - 没有什么区别。

所以一开始我不确定的是Postman中"GET NEW ACCESS TOKEN"中的'Scope'参数。我尝试了各种范围,例如 'Sites.FullControl.All' 或“https://microsoft.sharepoint-df.com/.default'. But that didn't change the outcome. Still, is the scope I set correct for SharePoint REST API? I know that for the Microsoft Graph 'https://graph.microsoft.com/.default”有效。

我还尝试了不同的应用权限,不仅仅是 'Sites.FullControl.All'

您知道错误的原因吗?

谢谢。

共享点权限 Sites.FullControl.All 的类型为 Application
对于这种类型的权限,您必须使用 client_credential 流程。

The Client Credentials grant is used when applications request an access token to access their own resources, not on behalf of a user.

尝试通过以下方式调用身份验证 url:

grant_type=client_credentials
&client_id=xxxxxxxxxx
&client_secret=xxxxxxxxxx

否则,如果您想代表用户访问共享点,请将权限类型更改为委托