Microsoft Information Protection SDK - Concetti relativi all'autenticazione

L'autenticazione in MIP SDK viene eseguita estendendo la classe mip::AuthDelegate per implementare il metodo di autenticazione preferito. mip::AuthDelegate contiene:

  • mip::AuthDelegate::OAuth2Challenge : classe che gestisce le informazioni sull'autorità OAuth2 e fornisce all'applicazione client.
  • mip::AuthDelegate::OAuth2Token : una classe gestisce l'acquisizione di token di accesso OAuth2 (dall'applicazione client) e l'archiviazione dei token.
  • mip::AuthDelegate::AcquireOAuth2Token() - una funzione virtuale pura, la cui implementazione determina il metodo di acquisizione del token di accesso. Dopo essere stato chiamato dall'SDK, acquisisce il token di accesso, quindi lo restituisce alla logica di autenticazione dell'SDK.

mip::AuthDelegate::AcquireOAuth2Token accetta i parametri seguenti e restituisce un valore bool che indica se l'acquisizione del token ha avuto esito positivo:

  • mip::Identity: identità dell'utente o del servizio da autenticare, se nota.
  • mip::AuthDelegate::OAuth2Challenge: accetta quattro parametri, autorità, risorsa, attestazioni e ambiti. L'autorità è il servizio in cui verrà generato il token. La risorsa è il servizio a cui si sta provando ad accedere. L'SDK gestirà il passaggio di questi parametri al delegato quando viene chiamato. Le attestazioni sono le attestazioni specifiche dell'etichetta richieste dal servizio di protezione. Gli ambiti sono gli ambiti di autorizzazione di Microsoft Entra necessari per accedere alla risorsa.
  • mip::AuthDelegate::OAuth2Token: il risultato del token viene scritto in questo oggetto. Verrà utilizzato dall'SDK quando il motore viene caricato. Al di fuori dell'implementazione dell'autenticazione, non deve essere necessario ottenere o impostare questo valore in qualsiasi punto.

Importante: le applicazioni non chiamano AcquireOAuth2Token direttamente. L'SDK chiamerà questa funzione quando necessario.

Passaggi successivi

Per semplicità, gli esempi che illustrano il delegato implementeranno l'acquisizione di token chiamando uno script esterno. Questo script può essere sostituito da qualsiasi altro tipo di script, da una libreria OAuth2 open source o da una libreria OAuth2 personalizzata.