Kit de développement logiciel (SDK) Microsoft Information Protection - Concepts d’authentification

L’authentification dans le SDK MIP est effectuée en étendant la classe mip::AuthDelegate pour implémenter votre méthode d’authentification préférée. mip::AuthDelegate contient :

  • mip::AuthDelegate::OAuth2Challenge - une classe qui gère les informations d’autorité OAuth2 et fournit à l’application cliente.
  • mip::AuthDelegate::OAuth2Token - une classe qui gère l’acquisition de jetons d’accès OAuth2 (à partir de l’application cliente) et le stockage de jetons.
  • mip::AuthDelegate::AcquireOAuth2Token() - une fonction virtuelle pure, dont l’implémentation détermine la méthode d’acquisition de jetons d’accès. Après avoir été appelée par le kit de développement logiciel (SDK), elle acquiert le jeton d’accès, puis le fournit à la logique d’authentification du kit de développement logiciel (SDK).

mip::AuthDelegate::AcquireOAuth2Token accepte les paramètres suivants et retourne un bool indiquant si l’acquisition de jeton a réussi :

  • mip::Identity : l’identité de l’utilisateur ou du service à authentifier, le cas échéant.
  • mip::AuthDelegate::OAuth2Challenge : accepte quatre paramètres, autorité, ressource, revendications et étendues. L’autorité est le service sur lequel le jeton sera généré. La ressource est le service auquel nous essayons d’accéder. Le kit de développement logiciel (SDK) gère le passage de ces paramètres au délégué lorsqu’il est appelé. Les revendications sont les revendications spécifiques à l’étiquette requises par le service de protection. Les étendues sont les étendues d’autorisation de Microsoft Entra requises pour accéder à la ressource.
  • mip::AuthDelegate::OAuth2Token : le résultat du jeton est écrit dans cet objet. Il sera consommé par le kit de développement logiciel (SDK) lorsque le moteur est chargé. En dehors de notre implémentation de l’authentification, il ne doit pas être nécessaire d’obtenir ou de définir cette valeur partout.

Important : les applications n’appellent pas AcquireOAuth2Token directement. Le kit de développement logiciel (SDK) appelle cette fonction quand cela est nécessaire.

Étapes suivantes

Par souci de simplicité, les exemples illustrant le délégué implémentent l’acquisition de jetons en appelant un script externe. Ce script peut être remplacé par n’importe quel autre type de script, une bibliothèque OAuth2 open source ou une bibliothèque OAuth2 personnalisée.