【问题标题】:How to give permissions for the application for all users which was created in azure apps portal如何为在 azure 应用程序门户中创建的所有用户授予应用程序权限
【发布时间】:2018-03-12 13:45:37
【问题描述】:

我在 https://apps.dev.microsoft.com 门户中创建了一个名为 GroupsApp 的应用程序,并授予了以下几个权限: 我已经创建了要在我的应用程序中使用的客户端 ID 和密码。我正在使用 asp.net MVC(带有 4.5.1 .net 框架)Web 应用程序。

我正在获取一些组信息并显示在屏幕上。如果我使用我的帐户登录,它工作正常。但是,如果我以其他用户身份登录,则会出现以下问题:

我的 url 格式如下:https://login.microsoftonline.com/948894dc-c0e2-43e5-a7e6-1d21dd183c9d/oauth2/authorize?client_id=75acb700-e675-4dc4-9deb-d3f68f6911a1&response_type=code&redirect_uri=http://localhost:34280&prompt=admin_consent 并尝试授予权限。在这里,我以管理员身份登录并授予权限。

现在,如果我与普通用户核实,同样的问题正在发生。

我应该如何授予此应用程序的权限。

我无法从 Azure 门户中找到任何批准权限的选项。

【问题讨论】:

  • 同样的问题?它仍然需要管理员同意吗?确实,您需要进行两次权限授予,一次是管理员同意,另一次是用户同意。因为User.Read 需要用户同意。做了管理员同意后,当你使用普通用户时,你仍然需要在用户同意的情况下进行同意。

标签: asp.net-mvc azure permissions azure-active-directory


【解决方案1】:

现在,如果我与普通用户核实,同样的问题正在发生。

我应该如何授予此应用程序的权限。

我无法从 Azure 门户中找到任何批准权限的选项。

根据您的设置,我可能会遇到同样的问题。我假设您可能会点击 AAD v2.0 的Admin-restricted scopes,如下所示:

微软生态系统中的一些高权限权限可以设置为管理员限制。这些范围的示例包括以下权限:

  • 使用Directory.Read 读取组织的目录数据
  • 使用Directory.ReadWrite 将数据写入组织的目录
  • 使用Groups.Read.All 读取组织目录中的安全组

虽然消费者用户可能会授予应用程序访问此类数据的权限,但组织用户被限制授予对同一组敏感公司数据的访问权限。如果您的应用程序向组织用户请求访问这些权限之一,该用户会收到一条错误消息,指出他们无权同意您的应用程序的权限。

您可以Using the admin consent endpoint 并遵循此Build an app with admin restricted scopes using the v2.0 endpoint github 代码示例,以确保您的应用可以为租户中的所有用户收集权限,包括管理员限制的范围。

【讨论】:

  • 我会试一试告诉你
  • 实际上这里的问题是,即使我使用管理员帐户批准了权限,当我以普通用户身份登录时,它仍然要求管理员同意。是不是不能对所有用户申请批准的权限?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 2012-02-24
  • 2016-10-21
  • 2012-04-29
  • 2012-12-02
相关资源
最近更新 更多