Поделиться через


Общие сведения о расширениях пользовательской проверки подлинности

В этой статье представлен общий технический обзор пользовательских расширений проверки подлинности для идентификатора Microsoft Entra. Пользовательские расширения проверки подлинности позволяют настроить интерфейс проверки подлинности Microsoft Entra путем интеграции с внешними системами.

На следующей схеме показан поток входа, интегрированный с пользовательским расширением проверки подлинности.

Схема, на которой показан маркер, дополненный утверждениями из внешнего источника.

  1. Пользователь пытается войти в приложение и перенаправляется на страницу входа в Microsoft Entra.
  2. После завершения определенного шага проверки подлинности активируется прослушиватель событий.
  3. Пользовательское расширение проверки подлинности отправляет HTTP-запрос в конечную точку REST API. Запрос содержит сведения о событии, профиле пользователя, данных сеанса и других контекстных данных.
  4. REST API выполняет настраиваемый рабочий процесс.
  5. REST API возвращает HTTP-ответ на идентификатор Microsoft Entra.
  6. Расширение пользовательской проверки подлинности Microsoft Entra обрабатывает ответ и настраивает проверку подлинности на основе типа события и полезных данных ответа HTTP.
  7. Маркер возвращается в приложение.

Конечная точка REST API расширения пользовательской проверки подлинности

При срабатывании события идентификатор Microsoft Entra вызывает конечную точку REST API, которую вы владеете. Запрос к REST API содержит сведения о событии, профиле пользователя, данных запроса проверки подлинности и других контекстных данных.

Вы можете использовать любой язык программирования, платформу и среду размещения для создания и размещения пользовательских расширений проверки подлинности REST API. Чтобы быстро приступить к работе, используйте функцию Azure C#. Решение "Функции Azure" позволяет выполнять код в бессерверной среде без необходимости сначала создавать виртуальную машину или публиковать веб-приложение.

REST API должен обрабатывать следующее:

  • Проверка маркеров для защиты вызовов REST API.
  • Бизнес-логика
  • Входящие и исходящие проверки схем HTTP-запроса и ответа.
  • Аудит и ведение журнала.
  • Элементы управления доступностью, производительностью и безопасностью.

Для разработчиков, работающих с REST API на Функции Azure, рекомендуется использовать библиотеку NuGet Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents, которая помогает реализовать проверку маркеров с помощью встроенных возможностей проверки подлинности Microsoft Azure. Он предоставляет модель данных для разных типов событий, инициирует входящие и исходящие запросы и обработку ответов, поэтому большее внимание можно сосредоточить на бизнес-логике.

Защита REST API

Чтобы обеспечить безопасность взаимодействия между пользовательским расширением проверки подлинности и REST API, необходимо применить несколько элементов управления безопасностью.

  1. Когда расширение пользовательской проверки подлинности вызывает REST API, он отправляет заголовок HTTP Authorization с маркером носителя, выданным идентификатором Microsoft Entra.
  2. Маркер носителя содержит appid или azp утверждение. Убедитесь, что соответствующее утверждение содержит 99045fe1-7639-4a75-9d4a-577b6ca3810f значение. Это значение гарантирует, что идентификатор Microsoft Entra — это тот, кто вызывает REST API.
    1. Для приложений версии 1 проверьте appid утверждение.
    2. Для приложений версии 2 проверьте azp утверждение.
  3. Утверждение аудитории маркера aud носителя содержит идентификатор связанной регистрации приложения. Конечная точка REST API должна проверить, выдан ли маркер носителя для конкретной аудитории.
  4. Утверждение издателя маркера iss носителя содержит URL-адрес издателя Microsoft Entra. В зависимости от конфигурации клиента URL-адрес издателя будет одним из следующих.
    • Рабочая сила: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Клиент: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Поставщик пользовательских утверждений

Настраиваемый поставщик утверждений — это тип настраиваемого расширения проверки подлинности, который вызывает REST API для получения утверждений из внешних систем. Настраиваемый поставщик утверждений сопоставляет утверждения из внешних систем с маркерами и может быть назначен одному или нескольким приложениям в каталоге.

Дополнительные сведения о пользовательских поставщиках утверждений.

Запуск и отправка событий коллекции атрибутов

События запуска и отправки атрибутов можно использовать с пользовательскими расширениями проверки подлинности для добавления логики до и после сбора атрибутов от пользователя. Например, можно добавить рабочий процесс для проверки атрибутов, которые пользователь вводит во время регистрации. Событие OnAttributeCollectionStart происходит в начале шага коллекции атрибутов перед отображением страницы сбора атрибутов. Он позволяет добавлять такие действия, как предварительно заполнение значений и отображение ошибки блокировки. Событие OnAttributeCollectionSubmit активируется после ввода и отправки атрибутов пользователем, что позволяет добавлять действия, такие как проверка записей или изменение атрибутов.

Примечание.

События запуска и отправки атрибутов в настоящее время доступны только для потоков пользователей в Внешняя идентификация Microsoft Entra во внешних клиентах. Дополнительные сведения см. в разделе "Добавление собственной бизнес-логики".

См. также