Azure AD 和 php 网络应用程序的 SSO 问题(需要管理员批准 - 权限错误)

SSO problem with Azure AD and php web app (Need admin approval - permission error)

我使用 Azure AD 创建了具有单点登录 (SSO) 的 Web 应用程序。我用 OAuth 2.0 实现了解决方案。 我用我的测试 Azure AD 测试了我的解决方案 - 它工作正常!但是当我开始在我的客户 Azure AD 帐户上使用它时,出现错误:

Need admin approval

--Application Name-- needs permission to access resources in your organization that only an admin can grant. Please, ask an admin to grant permission to this app before you can use it.

我已经为这个应用程序设置了 API 权限: User.Read、电子邮件、offline_access、openid、个人资料

但是错误还是一样。 有人可以帮我吗?我需要在客户的 Azure AD 帐户上为我的应用程序设置什么权限?

  • 检查是否在企业应用程序用户设置中将允许用户同意应用代表他们访问公司数据设置为否。

    如果设置为否,请将其切换为是。此选项可让用户自行决定是否要向其组织中的每个人授予对给定应用程序的访问权限。

From Microsoft’s official documentation: If this option is set to yes, then users may consent to allow applications which are not published by Microsoft to access your organization’s data, if the user also has access to the data. This also means that the users will see these apps on their Access Panels. If this option is set to no, then admins must consent to these applications before users may use them.

  • 检查是否允许用户请求管理员同意他们无法同意的应用程序是否设置为否。

    如果设置为否,则也将其切换为是。如果您的组织决定用户确实必须获得明确批准,此选项可让这些用户轻松请求批准。

    要启用此选项,请单击“用户设置”(与上一个词干相同),然后将“管理员同意请求”切换为“是”。确保保存您的更改,这可能需要几分钟才能传播。

From Microsoft Documentation: If this option is set to yes, then users request admin consent to any app that requires access to data they do not have the permission to grant. If this option is
set to no, then users must contact their admin to request to consent
in order to use the apps they need.

Note : If this Setting is done from your APP tenant , Please also check the external users tenant as this needs to be done from their side as well as while trying to use the app, your app will retrieve user profile etc. from the users tenant .

  • 将优先级矩阵添加为企业应用程序(组织范围)

    如果您的 AAD 管理员决定组织中的每个人都应该访问优先级矩阵,他们可以执行以下步骤:

    在“企业应用程序”视图中,单击所有应用程序

    Select + 使用 Azure AD 身份验证设置优先级矩阵的新应用程序

    搜索“优先级矩阵”并继续为应用程序配置 AD 身份验证

注意:如果问题仍然存在,请联系 Azure 支持工程师,通过单击(帮助+支持)并创建技术支持请求来获得协助支持,因为它可能需要实时故障排除。