MS 图形 - 将管理员范围的权限应用于普通用户



我正在使用MS Graph示例来处理组。我已经从提到的链接修改了我的代码。我可以使用管理员帐户进行所有操作,但不能使用普通用户。我正在使用权限范围作为User.Read Mail.Send Files.ReadWrite Group.ReadWrite.All。使用管理员帐户运行应用并授予这些权限后,这些权限不会反映给普通用户。当普通用户登录时,它会再次请求管理员同意。我做错了什么?

Azure AD 土地中有两种类型的"同意":

    用户同意
  • :要求用户同意应用代表他们执行 x,y,z。

  • 管理员同意
  • :要求管理员同意"非管理员"用户执行用户同意。

换句话说,"管理员同意

"与执行"用户同意"的管理员不同。所做的只是代表该管理员同意您的应用程序操作,不会影响任何其他用户。

此处需要的是执行管理员同意操作。这使用的 URL 与你当前用于登录应用的 URL 略有不同。我建议看看这些文章,这些文章涵盖了它是如何工作的(披露者:我是作者(:

  • 了解用户同意和管理员同意之间的区别
  • 为您的应用程序获得行政同意
我认为

这些问题的发生是由于顺序。我对该应用程序的权限有问题,可能是在批准为管理员时。因此,我已从应用程序注册中完全删除了该应用程序,并创建了一个新应用程序。现在我已经给出了范围作为Directory.ReadWrite.All Group.ReadWrite.All.现在,在与任何其他用户一起打开应用程序之前,我已经打开了下面的 url https://login.microsoftonline.com/common/adminconsent?client_id=a0c2773f-4701-4d9b-b197-c4ca6cb531f9&state=12345&redirect_uri=https://localhost:44329/以获得管理员同意。

我已经

批准了必要的权限,并且我已经与普通用户一起打开了该应用程序,然后它开始工作。

道德:接受权限的顺序非常重要。首先始终批准管理员同意权限,然后其余内容运行良好

最新更新