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

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

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

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

  • mip::Identity: Идентификатор пользователя или службы для аутентификации, если известен.
  • mip::AuthDelegate::OAuth2Challenge: Принимает четыре параметра: authority, resource, claims и scopes. Authority — это служба, которая генерирует токен. Ресурс — это служба, к ней приложение пытается получить доступ. Пакет SDK передает эти параметры делегату при вызове. Утверждения — это утверждения, относящиеся к конкретной метке и необходимые службе защиты. Scopes — это области разрешений Microsoft Entra, необходимые для доступа к ресурсу.
  • mip::AuthDelegate::OAuth2Token: SDK записывает результат токена в этот объект. SDK обрабатывает это при загрузке движка. За пределами реализации проверки подлинности вам не нужно получать или задавать это значение в любом месте.

Important

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

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

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