gpt4 book ai didi

Azure 应用程序错误地请求管理员同意?

转载 作者:行者123 更新时间:2023-12-02 23:42:57 25 4
gpt4 key购买 nike

我希望有人能够深入了解我在 Microsoft Azure 门户 ( portal.azure.com ) 中新注册的应用程序遇到的问题。

出现以下对话框时出现登录问题

admin consent dialog

错误代码和消息出现在右下角;

AADSTS90094: This operation can only be performed by an administrator. Sign out and sign in as an administrator or contact one of your organization's administrators.

就配置而言,我相信我的设置不需要需要管理员同意,但是我可能缺少一些东西。

我的应用程序配置为:

Id token ,单租户(网络)应用程序

flow configuration

委派的用户同意权限,无管理员权限

app permissions

对于企业应用程序,配置设置为;

  • 允许用户登录:Yes
  • 需要用户分配:Yes
  • 对用户可见:Yes
  • 已添加 4 个用户,其 Default Access角色
  • 允许用户请求访问此应用程序:No (按照分配的方式)

最后,在企业应用程序 - 用户设置配置下的 azure 目录本身中,我已将公司数据用户同意设置为 Yes

Directory user consent

当我导航到我的应用程序 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 身份验证库)

最佳答案

当用户同意不需要分配的应用程序时(在允许用户同意的租户中,以及对于仅请求不需要管理员同意的权限的应用程序),会发生两种情况:

  1. 记录应用、用户和所请求的委派权限的同意授予情况。
  2. 用户被分配给应用,并具有“默认”应用角色。

第二步可能看起来令人惊讶,但它的作用很简单:它确保用户在 Azure AD 访问面板 ( https://myapps.microsoft.com ) 中看到他们同意的应用程序。 (Azure AD 访问面板将向用户显示分配给他们的所有应用程序。)

如果用户可以通过触发用户同意来分配自己,那么“需要用户分配”控制的目的就会失效。因此,目前,当应用程序设置为需要用户分配时,用户根本不允许同意该应用程序。

今天,您有两个选择:

  1. 要求管理员授予租户范围内对该应用的同意(例如企业应用 > 权限 > 授予管理员同意,或应用注册 > API 权限 > 授予管理员同意)。
  2. 将应用配置为不需要用户分配,并更新应用的代码以要求通过检查“角色”声明将用户分配给应用角色。

关于Azure 应用程序错误地请求管理员同意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57175933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com