пакет 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: принимает четыре параметра: authority, resource, claims и scopes. Центр сертификации — это служба, для которой будет создан маркер. Ресурс — это служба, к которую мы пытаемся получить доступ. Пакет SDK будет обрабатывать передачу этих параметров делегату при вызове. Утверждения — это утверждения, относящиеся к конкретной метке и необходимые службе защиты. Scopes — это области разрешений Microsoft Entra, необходимые для доступа к ресурсу.
  • mip::AuthDelegate::OAuth2Token: Результат токена записывается в этот объект. Это будет обработано SDK при загрузке движка. Вне нашей реализации проверки подлинности не нужно получать или задавать это значение в любом месте.

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

Дальнейшие действия

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