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


Пакет SDK Microsoft Information Protection — основные понятия проверки подлинности

Проверка подлинности в пакете SDK MIP выполняется путем расширения класса mip::AuthDelegate для реализации предпочтительного метода проверки подлинности. mip::AuthDelegate содержит

  • mip::AuthDelegate::OAuth2Challenge — класс, который управляет сведениями центра OAuth2 и предоставляет клиентскому приложению.
  • mip::AuthDelegate::OAuth2Token — класс управляет получением маркера доступа OAuth2 (из клиентского приложения) и хранилищем маркеров.
  • mip::AuthDelegate::AcquireOAuth2Token() — чистая виртуальная функция, реализация которой определяет метод получения маркера доступа. После вызова пакета SDK он получает маркер доступа, а затем возвращает его в логику проверки подлинности пакета SDK.

mip::AuthDelegate::AcquireOAuth2Token принимает следующие параметры и возвращает логическое значение, указывающее, выполнено ли получение маркера успешно:

  • mip::Identity: удостоверение пользователя или службы, прошедшего проверку подлинности, если известно.
  • mip::AuthDelegate::OAuth2Challenge: принимает четыре параметра, центр, ресурс, утверждения и область. Центр — это служба, с помощью маркера будет создан маркер. Ресурс — это служба, к которую мы пытаемся получить доступ. Пакет SDK будет обрабатывать передачу этих параметров делегату при вызове. Утверждения — это утверждения , относящиеся к метки, необходимые службе защиты. Области — это разрешения Microsoft Entra область, необходимые для доступа к ресурсу.
  • mip::AuthDelegate::OAuth2Token: результат маркера записывается в этот объект. Он будет использоваться пакетом SDK при загрузке подсистемы. Вне нашей реализации проверки подлинности не нужно получать или задавать это значение в любом месте.

Важно. Приложения не вызываются AcquireOAuth2Token напрямую. Пакет SDK вызовет эту функцию при необходимости.

Следующие шаги

Для простоты примеры, демонстрирующие делегат, реализуют получение маркеров путем вызова внешнего скрипта. Этот скрипт можно заменить любым другим типом скрипта, библиотекой OAuth2 с открытым исходным кодом или пользовательской библиотекой OAuth2.