自定义声明提供程序

本文概述了 Microsoft Entra 自定义声明提供程序。

当用户向应用程序进行身份验证时,可以使用自定义声明提供程序将声明添加到令牌中。 自定义声明提供程序由自定义身份验证扩展组成,它会调用外部 REST API 来从外部系统提取声明。 可以将自定义声明提供程序分配给目录中的一个或多个应用程序。

有关用户的关键数据通常存储在 Microsoft Entra ID 外部的系统中。 例如,辅助电子邮件、计费层或敏感信息。 某些应用程序可能依赖于这些属性才能按设计运行。 例如,应用程序可能会基于令牌中的声明阻止对某些功能的访问。

下面的视频很好地概述了 Microsoft Entra 自定义身份验证扩展和自定义声明提供程序:

对于以下方案,请使用自定义声明提供程序:

  • 迁移旧系统 - 可能有旧式标识系统(如 Active Directory 联合身份验证服务 (AD FS))或数据存储(如 LDAP 目录),用于保存有关用户的信息。 你想要迁移这些应用程序,但无法将标识数据完全迁移到 Microsoft Entra ID。 你的应用可能依赖于令牌上的某些信息,并且无法重新架构。
  • 与其他无法同步到目录的数据存储的集成 - 你可能用第三方系统或自己的系统来存储用户数据。 理想情况下,可以通过同步或直接迁移将此信息合并到 Microsoft Entra 目录中。 然而,这并非始终可行。 可能由于数据驻留、法规或其他要求而有所限制。

注意

自定义声明提供程序不是向令牌添加自定义声明的唯一方式。 你还可为企业应用程序自定义在 JSON Web 令牌 (JWT) 中发布的声明

令牌颁发开始事件侦听器

事件侦听器是等待事件发生的过程。 自定义身份验证扩展使用“令牌颁发开始”事件侦听器。 当令牌即将颁发给应用程序时,将触发该事件。 触发事件时,会调用自定义身份验证扩展 REST API,来从外部系统提取属性。

若要设置自定义声明提供程序,需要使用令牌颁发启动事件创建 REST API,然后为令牌颁发事件配置自定义声明提供程序

提示

立即试用

若要试用此功能,请转到 Woodgrove Groceries 演示并启动“将声明添加到 REST API 中的安全令牌”用例。

适用于 .NET 的 Azure Functions 客户端库的身份验证事件触发器

Azure Functions 的身份验证事件触发器允许实现自定义扩展来处理 Microsoft Entra ID 身份验证事件。 身份验证事件触发器处理用于身份验证事件的传入 HTTP 请求的所有后端处理。

  • 用于保护 API 调用的令牌验证
  • 对象模型、键入和 IDE intellisense
  • API 请求和响应架构的入站和出站验证

另请参阅