SDK de Microsoft Information Protection: Conceptos de autenticación

La autenticación en el SDK de MIP se realiza mediante la extensión de la clase mip::AuthDelegate para implementar su método de autenticación preferido. mip::AuthDelegate contiene:

  • mip::AuthDelegate::OAuth2Challenge: una clase que administra la información de autoridad de OAuth2 y se la proporciona a la aplicación cliente.
  • mip::AuthDelegate::OAuth2Token: una clase que administra la adquisición de tokens de acceso de OAuth2 (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. Después de recibir la llamada del SDK, adquiere el token de acceso y, a continuación, lo devuelve a la lógica de autenticación del SDK.

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

  • mip::Identity: la identidad del usuario o servicio que se va a autenticar, si se conoce.
  • mip::AuthDelegate::OAuth2Challenge: acepta cuatro parámetros, que son autoridad, recurso, notificaciones y ámbitos. Autoridad hace referencia al servicio en el que se generará el token. Recurso hace referencia al servicio al que intentamos acceder. El SDK controlará el paso de estos parámetros al delegado cuando se realicen las llamadas. Notificaciones hace referencia a las notificaciones específicas de la etiqueta que requiere el servicio de protección. Ámbitos hace referencia a los ámbitos de permisos de Microsoft Entra necesarios para acceder al recurso.
  • mip::AuthDelegate::OAuth2Token: el resultado del token se escribe en este objeto. El SDK lo consumirá cuando se cargue el motor. Fuera de nuestra implementación de autenticación, no tendría por qué obtener ni establecer este valor en ningún otro lugar.

Importante: Las aplicaciones no llaman a AcquireOAuth2Token directamente. El SDK llamará a esta función cuando sea necesario.

Pasos siguientes

Para que resulte más sencillo, los ejemplos que muestran el delegado implementarán la adquisición de tokens mediante una llamada a un script externo. Este script se puede reemplazar por cualquier otro tipo de script, una biblioteca OAuth2 de código abierto o una biblioteca de OAuth2 personalizada.