oauth2.0 当我在Azure AD应用的API权限中定义了定义的范围时,为什么该范围在Azure AD应用的资源上不存在?

qco9c6ql  于 2023-06-28  发布在  其他
关注(0)|答案(1)|浏览(92)

我正在尝试从Azure AD应用程序注册中检索OAuth2.0令牌。有问题的应用程序有权访问我的组织中的SharePoint,而无需代表用户执行操作-“应用程序”权限已应用于SharePoint权限。

API权限

尝试从Azure AD获取新的访问令牌时,我收到一个错误,指出“应用程序要求范围站点。资源00000003-0000- 0 ff 1-ce 00 - 00000000000 '上不存在的选定项。
我在想是不是有什么我明显漏掉的。
我尝试切换到OAuth2.0 v1端点来访问我的应用程序,这允许我生成令牌。然而,当执行后续请求时,将此传递到Authorization头中,我收到401未授权。

z4iuyo4d

z4iuyo4d1#

当尝试使用带有作用域https://login.microsoftonline.com/xxxx/oauth2/v2.0/authorize?client_id=76xxx9&client_secret=y_xxxFv&grant_type=Authorization_code&scope=user.read openid profile sites.selected&redirect_url=https://jwt.ms&response_type=code的身份验证url时
接收错误:

error=invalid_client&error_description=AADSTS650053%3a+The+application+%27sprepoapp%27+asked+for+scope+%27sites.selected%27+that+doesn%27t+exist+on+the+resource+%2xxx00000003-0000-0000-c000-000000000000%27.
请确保具有图形的默认范围:
适用范围:

https://graph.microsoft.com/.default

如果您使用的是授权代码流,则可能需要用户交互,但API权限是访问sharepoint所需的应用程序权限。在这种情况下,需要执行客户端凭据流。
验证URL:

https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize

访问地址:

https://login.microsoftonline.com/xxx/oauth2/v2.0/token

grant_type:* 客户端凭证流 *

相关问题