Общие сведения о расширениях пользовательской проверки подлинности
В этой статье представлен общий технический обзор пользовательских расширений проверки подлинности для идентификатора Microsoft Entra. Пользовательские расширения проверки подлинности позволяют настроить интерфейс проверки подлинности Microsoft Entra путем интеграции с внешними системами.
На следующей схеме показан поток входа, интегрированный с пользовательским расширением проверки подлинности.
- Пользователь пытается войти в приложение и перенаправляется на страницу входа в Microsoft Entra.
- После завершения определенного шага проверки подлинности активируется прослушиватель событий.
- Пользовательское расширение проверки подлинности отправляет HTTP-запрос в конечную точку REST API. Запрос содержит сведения о событии, профиле пользователя, данных сеанса и других контекстных данных.
- REST API выполняет настраиваемый рабочий процесс.
- REST API возвращает HTTP-ответ на идентификатор Microsoft Entra.
- Расширение пользовательской проверки подлинности Microsoft Entra обрабатывает ответ и настраивает проверку подлинности на основе типа события и полезных данных ответа HTTP.
- Маркер возвращается в приложение.
Конечная точка 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, необходимо применить несколько элементов управления безопасностью.
- Когда расширение пользовательской проверки подлинности вызывает REST API, он отправляет заголовок HTTP
Authorization
с маркером носителя, выданным идентификатором Microsoft Entra. - Маркер носителя содержит
appid
илиazp
утверждение. Убедитесь, что соответствующее утверждение содержит99045fe1-7639-4a75-9d4a-577b6ca3810f
значение. Это значение гарантирует, что идентификатор Microsoft Entra — это тот, кто вызывает REST API.- Для приложений версии 1 проверьте
appid
утверждение. - Для приложений версии 2 проверьте
azp
утверждение.
- Для приложений версии 1 проверьте
- Утверждение аудитории маркера
aud
носителя содержит идентификатор связанной регистрации приложения. Конечная точка REST API должна проверить, выдан ли маркер носителя для конкретной аудитории. - Утверждение издателя маркера
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 во внешних клиентах. Дополнительные сведения см. в разделе "Добавление собственной бизнес-логики".
См. также
- Узнайте, как создать пользовательские расширения проверки подлинности для запуска и отправки событий с примером приложения OpenID Connect.