Azure AD 集成应用程序的身份验证问题:需要管理员批准

问题描述 投票:0回答:1

我正在寻求帮助,以解决当用户尝试访问我们在 Azure Active Directory (Azure AD) 中注册的应用程序时遇到身份验证问题的问题

问题描述:

尝试访问 Microsoft Project 时,尽管用户已被授予应用程序内的所有必要权限和范围,但仍会收到“需要管理员批准”消息提示。错误消息指出,

“需要管理员批准。此应用程序可能存在风险。如果您信任此应用程序,请要求您的管理员授予您访问权限。”

受影响的用户: 我们组织内同一租户目录中的多个用户遇到了此问题。

采取的步骤:

我们已经彻底审查并确保受影响的用户已被授予我们应用程序中所有必要的权限和范围。

此外,我们还检查了 OAuth 同意设置,以确认它们配置正确,并在 API 权限和企业应用程序下为默认目录授予管理员同意。 我们也清除了缓存和cookie,并在不同的设备和网络上测试了该问题,但问题仍然存在。

附加信息:

我们正在使用最新版本的Microsoft Project(ASP.NET CORE MVC)。

用户正在通过 Web 浏览器访问 Microsoft Project。

我们的组织利用单点登录 (SSO) 进行身份验证。 我使用 /common 作为权限。(https://login.microsoftonline.com/common/oauth2/v2.0/token") 在 Microsoft Entra 管理中心下,我们启用了管理员同意请求 - 用户可以请求管理员同意他们无法同意的应用程序。

但是当用户尝试对应用程序进行身份验证时,仍然会显示需要管理员批准消息。相反,它应该打开“需要批准”对话框,但它不会提示这一点。

API permission image

Admin Consent Settings Image

Error Image

azure azure-active-directory admin azure-ad-graph-api microsoft365
1个回答
0
投票

我同意@esqew,新注册的多租户应用程序将需要经过验证的发布商才能获得最终用户的同意。因此,我们似乎需要先发布您的应用程序,然后才能允许从多租户帐户登录。

如果问题仍然存在,请检查以下内容:

注意:当用户登录时,他们的身份验证将基于其主租户的设置,而不是应用程序所在的租户。如果您使用

common
organizations
对用户进行身份验证,请务必确保用户的家庭租户具有适当的设置。

创建了一个 Microsoft Entra ID 应用程序并授予 API 权限,如下所示:

enter image description here

当我尝试使用其他租户用户登录时,我收到了相同的错误

对于示例,我使用以下端点来验证用户

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=https://jwt.ms
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345

enter image description here

因此要解决该错误,检查用户所在目录/租户中的用户同意设置,并将管理员同意请求设置为“是”

enter image description here

然后用户将看到“需要批准”屏幕来请求访问。一旦获得批准,用户将能够访问该应用程序。

参考:

javascript - 如何在使用 microsoft graph 向 Azure AD B2 注册的应用程序多租户中实现用户同意以访问 Microsoft Calendar API? - Stack Overflow 由我

© www.soinside.com 2019 - 2024. All rights reserved.