对应用程序执行许可时发生的意外错误

本文介绍对应用程序进行许可期间可能发生的错误。 如果要对不包含任何错误消息的意外同意提示进行故障排除,请参阅 Microsoft Entra ID 的身份验证方案

与 Microsoft Entra ID 集成的许多应用程序需要获取访问其他资源的权限才能正常运行。 当这些资源也与 Microsoft Entra ID 集成时,通常使用通用同意框架来请求访问它们的权限。 这会显示许可提示,此情形通常发生在首次使用应用程序时,但也可能发生在后续使用应用程序时。

对于用户而言,必须满足一些条件才能对应用程序所需的权限进行许可。 如果不满足这些条件,可能会发生以下错误。

请求未授予的权限错误

  • AADSTS90093:<clientAppDisplayName> 正在请求一个或多个你无权授予的权限。 请与管理员联系,他/她可代表你对此应用程序进行许可。
  • AADSTS90094:<clientAppDisplayName> 需要访问组织中资源的权限(只有管理员可以授予)。 请让管理员授予访问此应用的权限,否则你将无法使用该应用。

当非管理员用户尝试使用的应用程序请求只有管理员才能授予的权限时,会发生此错误。 此错误可通过管理员代表其组织授予访问此应用程序的权限进行解决。

如果 Microsoft 检测到权限请求存在风险而阻止用户许可应用程序,则也可能会发生此错误。 在这种情况下,还将记录一个审核事件,其“类别”为“ApplicationManagement”、“活动类型”为“许可应用程序”、“状态原因”为“检测到风险应用程序”。

可能发生此错误的另一种情况是,应用程序需要用户分配,但未获得管理员同意。 在这种情况下,管理员必须首先为应用程序提供租户范围的管理员同意。

策略阻止权限授予错误

  • AADSTS90093:<tenantDisplayName> 管理员设置的策略阻止授予 <应用名称> 请求的权限。 请与 <tenantDisplayName> 管理员联系,他/她可代表你授予对此应用的权限。

当管理员关闭用户对应用程序同意的功能,然后非管理员用户试图使用需要该同意的应用程序时,可能会发生此错误。 此错误可通过管理员代表其组织授予访问此应用程序的权限进行解决。

不稳定问题错误

  • AADSTS90090: 登录过程似乎遇到了间歇性问题,它记录了尝试授予 <clientAppDisplayName> 的权限。 请稍后重试。

此错误表明服务端已发生不稳定问题。 可通过重新尝试对应用程序进行许可来解决此问题。

租户中资源不可用错误

  • AADSTS65005:<clientAppDisplayName> 正在请求访问你的组织 <tenantDisplayName> 中没有的 <resourceAppDisplayName> 资源。

确保提供请求的权限的这些资源在你的租户中可用,或者联系 <tenantDisplayName> 的管理员。 否则表明应用程序请求资源的方式存在错误配置,应联系应用程序开发人员。

权限不匹配错误

  • AADSTS65005: 应用已请求对访问 <resourceAppDisplayName> 资源进行许可。 由于此请求与应用注册期间预配置应用的方式不匹配,此请求失败。 与应用供应商联系。**

在以下情况下会发生所有这些错误:用户尝试的应用程序请求对资源应用程序的访问权限,该资源应用程序在组织目录(租户)中找不到。 出现这种情况的原因可能有很多个:

  • 客户端应用程序开发人员错误地配置了应用程序,从而导致应用程序请求访问无效的资源。 在这种情况下,为了解决此问题,应用程序开发人员必须更新客户端应用程序的配置。

  • 代表目标资源应用程序的服务主体在组织中不存在,或过去存在但已删除。 若要解决此问题,必须在组织中预配资源应用程序的服务主体,以便客户端应用程序可以请求其权限。 可通过多种方式配置服务主体,具体取决于应用程序的类型,包括:

  • 获取资源应用程序(Microsoft 已发布的应用程序)的订阅

  • 对资源应用程序进行许可

  • 通过 Microsoft Entra 管理中心授予应用程序权限

  • 从 Microsoft Entra 应用程序库添加应用程序

关于有风险的应用的错误和警告

  • AADSTS900941: 管理员同意是必需的。 应用被视为有风险。 (AdminConsentRequiredDueToRiskyApp)
  • 这个应用可能有风险。 如果你信任此应用,请要求管理员授予你访问权限。
  • AADSTS900981: 有风险的应用收到一个管理员同意请求。 (AdminConsentRequestRiskyAppWarning)
  • 这个应用可能有风险。 仅当你信任此应用时继续。

当 Microsoft 确定同意请求可能存在风险时,将显示这两条消息。 在许多其他因素中,如果未将经过验证的发布者添加到应用注册中,则可能会发生这种情况。 如果禁用管理员同意工作流,则将向最终用户显示第一个错误代码和消息。 如果启用管理员同意工作流,则将向最终用户和管理员显示第二个代码和消息。

最终用户将无法向检测为风险应用的应用授予同意。 管理员可以评估应用,但必须谨慎行事。 如果该应用在进一步审查后看起来可疑,可以从同意屏幕向 Microsoft 报告。

后续步骤

Microsoft 标识平台(v2.0 终结点)中的范围、权限和许可

登录到应用程序时出现的意外许可提示