Microsoft Graph - 获取 MemberOf
Microsoft Graph - Get MemberOf
我正在尝试使用 Microsoft Graph API 访问用户所属的组。
我遇到了一个问题,因为我认为我的权限设置正确,但是,当我登录应用程序时,我收到消息:
AADSTS90093: Calling principal cannot consent due to lack of permissions.
奇怪的是我只要求这个权限范围:
public static String[] ClientScope = { "User.Read", "User.ReadBasic.All", "Group.Read.All"};
让我感到困惑的是,如果我登录 Microsoft Graph 资源管理器并转到 https://graph.microsoft.com/v1.0/me/memberOf,
我得到正确的结果。
我让管理员同意我在课程范围内要求的权限。
有人遇到过这个问题吗?
知道我应该如何纠正吗?
memberOf API 需要以下范围之一:
- Directory.Read.All
- Directory.ReadWrite.All
- Directory.AccessAsUser.All
无论您选择这些范围中的哪一个,它们都需要获得管理许可,普通用户才能授权它们。为此,您首先需要让他们通过“管理员同意”工作流程。此工作流程需要管理员,但一旦完成,您应用程序的任何用户都将获得对受限范围的“管理员同意”。
例如,您通常会通过将用户重定向到
来对用户进行身份验证
https://login.microsoftonline.com/common/oauth2/authorize?<your params>
。
由于此范围需要管理员,因此您首先需要通过将管理员重定向到
进行身份验证来获得同意
https://login.microsoftonline.com/common/adminconsent?<yours params>
。
管理员同意后,普通用户将能够使用 OAUTH 进行身份验证。
我正在尝试使用 Microsoft Graph API 访问用户所属的组。 我遇到了一个问题,因为我认为我的权限设置正确,但是,当我登录应用程序时,我收到消息:
AADSTS90093: Calling principal cannot consent due to lack of permissions.
奇怪的是我只要求这个权限范围:
public static String[] ClientScope = { "User.Read", "User.ReadBasic.All", "Group.Read.All"};
让我感到困惑的是,如果我登录 Microsoft Graph 资源管理器并转到 https://graph.microsoft.com/v1.0/me/memberOf, 我得到正确的结果。 我让管理员同意我在课程范围内要求的权限。
有人遇到过这个问题吗?
知道我应该如何纠正吗?
memberOf API 需要以下范围之一:
- Directory.Read.All
- Directory.ReadWrite.All
- Directory.AccessAsUser.All
无论您选择这些范围中的哪一个,它们都需要获得管理许可,普通用户才能授权它们。为此,您首先需要让他们通过“管理员同意”工作流程。此工作流程需要管理员,但一旦完成,您应用程序的任何用户都将获得对受限范围的“管理员同意”。
例如,您通常会通过将用户重定向到
来对用户进行身份验证https://login.microsoftonline.com/common/oauth2/authorize?<your params>
。
由于此范围需要管理员,因此您首先需要通过将管理员重定向到
进行身份验证来获得同意https://login.microsoftonline.com/common/adminconsent?<yours params>
。
管理员同意后,普通用户将能够使用 OAUTH 进行身份验证。