我希望有人对我在Microsoft的Azure门户(portal.azure.com)中新注册的应用程序遇到的问题有所了解。
出现以下对话框时,我在登录时遇到的问题
错误代码和消息出现在右下角;
AADSTS90094:该操作只能由管理员执行。注销并以管理员身份登录,或与您组织的一位管理员联系。
在配置方面,我相信我已经将此设置设置为不需要,但需要管理员同意,但是可能缺少某些内容。
我的应用配置有;
Id令牌,单个承租人(网络)应用程序
已委派的用户同意权限,具有无管理员权限
对于企业应用程序,配置设置为;
Yes
Yes
Yes
Default Access
角色的用户No
(已分配)最后,在企业应用程序-用户设置配置下的azure目录中,我已将公司数据用户同意设置为Yes
当我导航到应用程序URL或从myapps.microsoft.com
中的应用程序导航时,都给我上面的对话框,要求管理员同意。
如果不需要,我不想授予管理员同意,因为这似乎有点像使用大锤来解决的问题。
我觉得我正在丢失一些大东西,或者做一些愚蠢的事情-请帮助,让我知道是否可以提供更多信息。
编辑1.1:
我的身份验证请求URL为:https://login.microsoftonline.com/<tenantid>/oauth2/v2.0/authorize?client_id=<clientid>&redirect_uri=<redirecturi>&response_mode=form_post&response_type=code id_token&scope=openid email profile offline_access User.Read User.ReadBasic.All Mail.ReadWrite&state=OpenIdConnect.AuthenticationProperties=<gibberish>&nonce=<gibberish>&x-client-SKU=ID_NET461&x-client-ver=5.4.0.0
(我将ASP.NET MVC与Microsoft的OpenId Connect身份验证库结合使用)
答案 0 :(得分:1)
当用户同意不需要分配的应用程序(在允许用户同意的租户中,并且对于仅请求不需要管理员同意的许可的应用程序)时,会发生两件事:
第二步看似令人惊讶,但它起着简单的作用:它确保用户在Azure AD访问面板(https://myapps.microsoft.com)中看到他们已同意的应用程序。 (Azure AD访问面板将向用户显示分配给他们的所有应用程序。)
如果用户可以通过触发用户同意来分配自己,则会破坏“需要用户分配”控制的目的。因此,当前,当将应用程序设置为需要用户分配时,完全不允许用户同意该应用程序。
今天,您有两种选择: 1.要求管理员为该应用程序授予租户范围的同意(例如,企业应用程序>权限>授予管理员同意,或应用程序注册> API权限>授予管理员同意)。 2.将应用配置为不不需要用户分配,并通过检查“角色”声明将应用的代码更新为要求将用户分配给应用角色。