Расширение потоков проверки подлинности с помощью собственной бизнес-логики

Область применения: Белый круг с серым символом X. клиенты рабочей силы внешниеЗеленый круг с символом белой галочки. клиенты (дополнительные сведения)

Внешняя идентификация Microsoft Entra потоки пользователей предназначены для гибкости. В потоке регистрации и входа есть встроенные события проверки подлинности. Кроме того, можно добавлять пользовательские расширения проверки подлинности в определенных точках в потоке проверки подлинности. Расширение пользовательской проверки подлинности по сути является прослушивателем событий, который при активации выполняет http-вызов к конечной точке REST API, в которой определяется действие рабочего процесса. Например, можно добавить рабочий процесс сбора атрибутов для проверки атрибутов, вводимых пользователем во время регистрации, или можно использовать настраиваемый поставщик утверждений для добавления внешних пользовательских данных в маркер до выдачи маркера.

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

  • Во время регистрации до или после коллекции атрибутов:
    • Событие OnAttributeCollectionStart происходит в начале шага коллекции атрибутов перед отображением страницы сбора атрибутов.
    • Событие OnAttributeCollectionSubmit возникает после ввода и отправки атрибутов пользователем.
  • После выдачи маркера с помощью события OnTokenIssuanceStart , которое активирует непосредственно перед выдачой маркера приложению.

Схема, показывающая точки расширяемости в потоке проверки подлинности.

Если у вас есть настраиваемое расширение проверки подлинности, настроенное в одной из этих точек, идентификатор Microsoft Entra выполняет вызов к определяемой ВАМИ REST API. Запрос к REST API содержит сведения о событии, профиле пользователя, данных запроса проверки подлинности и других контекстных данных. В свою очередь REST API выполняет действия рабочего процесса.

В этой статье представлен обзор пользовательских расширений проверки подлинности в Внешняя идентификация Microsoft Entra.

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

Расширения пользовательской проверки подлинности можно использовать для добавления рабочих процессов в коллекцию атрибутов в потоках пользователей самостоятельной регистрации. Например, можно предварительно заполнить поля атрибутов пользовательскими значениями, проверить записи пользователя, изменить атрибуты и отобразить ошибки. Включены два события:

  • OnAttributeCollectionStart — событие OnAttributeCollectionStart происходит в начале процесса сбора атрибутов перед отображением страницы сбора атрибутов. Это событие можно использовать для сценариев, таких как предотвращение регистрации пользователя на основе домена или добавления атрибутов для сбора. Следующие сценарии можно настроить для события OnAttributeCollectionStart:

    • continueWithDefaultBehavior — отрисовка страницы коллекции атрибутов обычным образом.
    • setPreFillValues — атрибуты предварительной заполнения в форме регистрации.
    • showBlockPage — отображение сообщения об ошибке и блокировка регистрации пользователя.
  • OnAttributeCollectionSubmit — событие OnAttributeCollectionSubmit происходит после ввода и отправки атрибутов пользователем. Это событие можно использовать для таких сценариев, как проверка или изменение сведений, предоставленных пользователем. Например, можно проверить код приглашения или номер партнера, изменить формат адреса или вернуть ошибку.

    • continueWithDefaultBehavior — продолжить с потоком регистрации.
    • modifyAttributeValues — перезапись значений, отправленных пользователем в форме регистрации.
    • showValidationError — возвращает ошибку на основе отправленных значений.
    • showBlockPage — отображение сообщения об ошибке и блокировка регистрации пользователя.

Чтобы настроить запуск и отправку событий коллекции атрибутов, создайте пользовательский REST API расширения проверки подлинности. При срабатывании события идентификатор Microsoft Entra отправляет HTTP-запрос в конечную точку REST API. REST API может быть функцией Azure, приложением логики Azure или другой общедоступной конечной точкой API. Конечная точка REST API отвечает за определение выполняемых действий рабочего процесса.

Дополнительные сведения см. в разделе "Добавление настраиваемых расширений коллекции атрибутов" в поток пользователя.

Событие запуска выдачи маркера

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

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

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

Расширение события выдачи маркера включает следующие компоненты:

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

  • Конечная точка REST API. При срабатывании события идентификатор Microsoft Entra отправляет HTTP-запрос в конечную точку REST API. REST API может быть функцией Azure, приложением логики Azure или другой общедоступной конечной точкой API. Конечные точки REST API с различными хранилищами данных, включая подчиненные базы данных, существующие API, каталоги ldap или другие хранилища, содержащие атрибуты, которые необходимо добавить в конфигурацию маркера.

    REST API возвращает http-ответ или действие обратно в идентификатор Microsoft Entra, содержащий атрибуты. Эти атрибуты не добавляются в токен автоматически. Вместо этого необходимо настроить политику сопоставления утверждений приложения, чтобы любой атрибут был включен в маркер.

Подробная информация доступна в следующих статьях:

См. также