SDK de Microsoft Information Protection: conceptos de autenticación

Para autenticarse en el SDK de MIP, extienda la clase para implementar el mip::AuthDelegate método de autenticación preferido. mip::AuthDelegate Contiene:

  • mip::AuthDelegate::OAuth2Challenge : una clase que administra la información de autoridad de OAuth 2.0 y la proporciona a la aplicación cliente.
  • mip::AuthDelegate::OAuth2Token : una clase que administra la adquisición de tokens de acceso de OAuth 2.0 desde la aplicación cliente y el almacenamiento de tokens.
  • mip::AuthDelegate::AcquireOAuth2Token() : una función virtual pura cuya implementación determina el método de adquisición de tokens de acceso. Una vez que el SDK lo llama, la implementación adquiere el token de acceso y lo devuelve a la lógica de autenticación del SDK.

mip::AuthDelegate::AcquireOAuth2Token acepta los parámetros siguientes y devuelve una bool que indica si la adquisición de tokens se realizó correctamente:

  • mip::Identity: la identidad del usuario o servicio para la autenticación, si se conoce.
  • mip::AuthDelegate::OAuth2Challenge: acepta cuatro parámetros: autoridad, recurso, notificaciones y ámbitos. Authority es el servicio que genera el token. El recurso es el servicio al que la aplicación intenta acceder. El SDK pasa estos parámetros al delegado cuando se le llama. Las reclamaciones son las reclamaciones específicas de la etiqueta que requiere el servicio de protección. Scopes son los ámbitos de permisos de Microsoft Entra necesarios para acceder al recurso.
  • mip::AuthDelegate::OAuth2Token: el SDK escribe el resultado del token en este objeto. El SDK lo consume cuando se carga el motor. Fuera de la implementación de autenticación, no es necesario obtener ni establecer este valor en ningún lugar.

Important

Las aplicaciones no llaman AcquireOAuth2Token directamente. El SDK llama a esta función cuando sea necesario.

Pasos siguientes

Para simplificar, los ejemplos que muestran el delegado implementan la adquisición de tokens mediante una llamada a un script externo. Puede reemplazar este script por otro script, una biblioteca OAuth 2.0 de código abierto o una biblioteca de OAuth 2.0 personalizada.