gpt4 book ai didi

c# - Microsoft Graph - 获取 MemberOf

转载 作者:行者123 更新时间:2023-11-30 21:41:19 28 4
gpt4 key购买 nike

我正在尝试访问用户是使用 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 ,我得到正确的结果。我让管理员同意我在类(class)范围内要求的权限。

有人遇到过这个问题吗?

知道我应该如何纠正吗?

最佳答案

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 进行身份验证。

关于c# - Microsoft Graph - 获取 MemberOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43515299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com