Azure active directory Azure AD管理员在不应';T

Azure active directory Azure AD管理员在不应';T,azure-active-directory,Azure Active Directory,我有两个租户: 一个用于管理用户的组织(A) 我管理的应用程序和权限(B) 我的webapp位于租户A上,我在租户B上使用Azure AD在门户上配置了身份验证 在租户B上,我仅使用一个不需要管理员同意的权限注册了应用程序:Windows Azure Active Directory>登录并读取用户配置文件 用户登录时会出现以下错误: AADSTS90093:此操作只能由管理员执行。以管理员身份注销并登录,或与组织的管理员联系 我认为不应该引发此错误,因为应用程序所需的唯一权限不需要adm

我有两个租户:

  • 一个用于管理用户的组织(A)
  • 我管理的应用程序和权限(B)
我的webapp位于租户A上,我在租户B上使用Azure AD在门户上配置了身份验证

在租户B上,我仅使用一个不需要管理员同意的权限注册了应用程序:Windows Azure Active Directory>登录并读取用户配置文件

用户登录时会出现以下错误:

AADSTS90093:此操作只能由管理员执行。以管理员身份注销并登录,或与组织的管理员联系

我认为不应该引发此错误,因为应用程序所需的唯一权限不需要admin

编辑

这是我在未登录时尝试访问应用程序时重定向到的URL

https://login.microsoftonline.com/d6ac45af-3289-4f79-a826-27824e1c467d/oauth2/authorize?response_type=code+id_token&redirect_uri=https%3A%2F%2Ftechnipfmc-tools-app-test.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback&client_id=d340f0ed-5eb3-43e8-9a50-c449649f3ee1&scope=openid+profile+email&response_mode=form_post&nonce=1895ec0ffef64447bbb712bdae61c7fb_20170521070654&state=redir%3D%252F
编辑2

我找到了一个解决方案:

作为管理员,您还可以代表租户中的所有用户同意应用程序的委派权限。这将防止租户中的每个用户都出现“同意”对话框。您可以从应用程序页面的Azure门户执行此操作。从应用程序的刀片设置中,单击所需权限,然后单击授予权限按钮


我不知道为什么要这样做,因为我只使用不需要管理员同意的权限。

我认为当您在登录URL中传递“&prompt=admin\u同意”时会出现错误


即使您没有请求管理员权限,但如果您传递该查询字符串,它也会尝试向您显示一个同意对话框,以便您可以代表整个租户同意,这是一个只有管理员才能执行的操作。

您的设置中存在几个潜在问题:

  • 您的授权请求被设置为特定租户,即租户为d6ac45af-3289-4f79-a826-27824e1c467d的租户。只有该租户的用户才能登录。如果此租户与您管理用户(A)的组织对应,则忽略这一点。否则,您应该将其替换为该租户的租户ID,或者替换为允许任何租户的用户登录的
    common
  • 您的应用程序不是多租户。出于测试目的,我将租户替换为
    common
    ,由于以下错误,无法将其用于测试租户:
    AADSTS70001:在目录中找不到标识符为“d340f0ed-5eb3-43e8-9a50-c449649f3ee1”的应用程序。这表示应用程序未配置为多租户应用程序。这是一件大事
  • 您组织的租户(A)可能已禁用常规用户同意应用程序的功能。如果禁用此功能,则始终需要管理员同意才能在租户中设置应用程序。要测试是否存在这种情况,请解决上面的点#1(use/common/)和#2,并尝试与任何其他租户联系。如果您能够与另一个租户(但不是您组织的租户)达成一致,则您将知道您的组织需要管理员同意

  • 你应该查看文章,因为它更详细地解释了上面的所有要点。

    我检查了这一点,我没有使用这个参数。你能分享你正在拨打的电话的http跟踪吗?你是指登录URL吗?当然!我正在寻找更多的跟踪信息,比如获取令牌……请用解决方案检查我的第二次编辑。但我不明白为什么我必须在第1点上这样做,当你说“只有该租户的用户才能登录”时,如果我将另一个租户的用户添加为来宾用户(邀请),他是否被视为我的租户的用户?应用程序不应该是多租户的。所有用户都将由租户B管理,我将从其他租户中添加用户作为来宾用户(这是否被视为多租户?)请检查我的第二次编辑和解决方案。但我不明白为什么我必须这么做,我遇到了与op类似的问题。我使用的是公共端点,并且“多租户选项”在应用程序注册中被显式打开。你的第3点很有趣,尽管我必须与面临问题的租户核实。这可能是因为在多租户环境中总是需要管理员同意吗?Azure AD中有一个设置,如果切换,将阻止用户自己进行任何同意,任何许可都需要管理员同意。我将检查此设置是否在租户A上启用。此设置位于Azure Active Directory>用户设置>企业应用程序中:用户可以同意应用程序代表其访问公司数据。您是否使用多租户?我有一个类似的问题,但在我的情况下,我猜当新租户试图通过(通用)应用程序注册访问环境时,第一次总是需要管理员同意