Teilen über


Microsoft Information Protection SDK – Authentifizierungskonzepte

Die Authentifizierung im MIP SDK erfolgt durch Erweitern der Klasse mip::AuthDelegate, um Ihre bevorzugte Authentifizierungsmethode zu implementieren. mip::AuthDelegate enthält:

  • mip::AuthDelegate::OAuth2Challenge – eine Klasse, die die OAuth2-Autoritätsinformationen verwaltet und der Clientanwendung bereitstellt.
  • mip::AuthDelegate::OAuth2Token – eine Klasse verwaltet den OAuth2-Zugriffstokenerwerb (aus der Clientanwendung) und den Tokenspeicher.
  • mip::AuthDelegate::AcquireOAuth2Token() - eine reine virtuelle Funktion, deren Implementierung die Methode des Zugriffstokenerwerbs bestimmt. Nachdem es vom SDK aufgerufen wurde, ruft es das Zugriffstoken ab und stellt es dann wieder der Authentifizierungslogik des SDK bereit.

mip::AuthDelegate::AcquireOAuth2Token akzeptiert die folgenden Parameter und gibt einen Bool zurück, der angibt, ob der Tokenerwerb erfolgreich war:

  • mip::Identity: Die Identität des Benutzers oder Diensts, der authentifiziert werden soll, sofern bekannt.
  • mip::AuthDelegate::OAuth2Challenge: Akzeptiert vier Parameter, Befugnis, Ressource, Ansprüche und Bereiche. Autorität ist der Dienst, für den das Token generiert wird. Ressource ist der Dienst, auf den wir zugreifen möchten. Das SDK behandelt die Übergabe dieser Parameter an den Delegaten, wenn er aufgerufen wird. Ansprüche sind die bezeichnungsspezifischen Ansprüche, die der Schutzdienst benötigt. Scopes sind die Microsoft Entra-Berechtigungsbereiche, die für den Zugriff auf die Ressource erforderlich sind.
  • mip::AuthDelegate::OAuth2Token: Das Tokenergebnis wird in dieses Objekt geschrieben. Sie wird vom SDK verbraucht, wenn die Engine geladen wird. Außerhalb unserer Authentifizierungsimplementierung sollte es nicht erforderlich sein, diesen Wert an beliebiger Stelle abzurufen oder festzulegen.

Wichtig: Anwendungen rufen AcquireOAuth2Token nicht direkt auf. Das SDK ruft diese Funktion bei Bedarf auf.

Nächste Schritte

Aus Gründen der Einfachheit implementieren Beispiele, in denen der Delegat den Tokenerwerb durch Aufrufen eines externen Skripts implementiert. Dieses Skript kann durch jeden anderen Skripttyp, eine Open-Source-OAuth2-Bibliothek oder eine benutzerdefinierte OAuth2-Bibliothek ersetzt werden.