【发布时间】:2017-05-20 02:56:39
【问题描述】:
我有 2 个租户:
- 一个供我管理用户的组织使用 (A)
- 我管理应用程序和权限的一个 (B)
我的 webapp 在租户 A 上,我在租户 B 上使用 Azure AD 在门户上配置了身份验证。
在租户 B 上,我仅使用一项不需要管理员同意的权限注册了该应用程序:Windows Azure Active Directory > 登录并阅读用户配置文件。
当用户登录时,他收到以下错误:
AADSTS90093:此操作只能由管理员执行。退出并以管理员身份登录或联系您组织的一位管理员。
我认为不应引发此错误,因为应用程序所需的唯一权限不需要管理员。
编辑
这是我在未登录时尝试访问应用程序时重定向到的 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
我找到了解决方案here:
作为管理员,您还可以代表租户中的所有用户同意应用程序的委派权限。这将阻止同意对话框出现在租户中的每个用户上。您可以从应用程序页面的 Azure 门户执行此操作。在您的应用程序的设置刀片中,单击所需权限,然后单击授予权限按钮。
我不知道为什么必须这样做,因为我只使用不需要管理员同意的权限。
【问题讨论】:
-
Azure AD 中有一个设置,如果切换,将阻止用户自己进行任何同意,需要管理员同意才能获得任何权限。我会检查您的租户 A 是否启用了此设置。此设置位于 Azure Active Directory > 用户设置 > 企业应用程序中:用户可以同意应用代表他们访问公司数据。
-
您在使用多租户吗?我遇到了类似的问题,但就我而言,我猜当新租户尝试通过(通用)应用程序注册访问环境时,第一次总是需要管理员同意