Acquisizione dei token

Come spiegato in MSAL per gli scenari di Java, esistono molti modi per acquisire un token. Alcune richiedono interazioni utente tramite un Web browser. Alcuni non richiedono interazioni utente.

In generale, il modo per acquisire un token è diverso a seconda del tipo di applicazione, ovvero applicazione client pubblica (desktop/mobile) o di un'applicazione client riservata (app Web, API Web, applicazione daemon come un servizio Windows).

Pre-requisites

Prima di acquisire token con MSAL4J, assicurati di creare un'istanza di applicazione client

Metodi di acquisizione dei token

Seguire gli argomenti seguenti per una spiegazione dettagliata con l'utilizzo del codice MSAL4J per ogni metodo di acquisizione di token.

Applicazioni client pubbliche

  • Acquisire i token in modo interattivo con il browser di sistema
  • Acquisire i token dal codice di autorizzazione dopo aver permesso all'utente di accedere tramite l'URL della richiesta di autorizzazione.
  • È anche possibile ottenere un token con un nome utente e una password. (Questo flusso è stato deprecato)
  • Per le applicazioni in esecuzione in computer Windows e aggiunte a un dominio o a Microsoft Entra ID, è possibile acquisire automaticamente un token, sfruttando l'autenticazione integrata Windows (IWA).
  • Infine, per le applicazioni in esecuzione su dispositivi che non dispongono di un Web browser, è possibile acquisire un token tramite il flusso di codice del dispositivo, che fornisce all'utente un URL e un codice. L'utente passa a un Web browser in un altro dispositivo, immette il codice e accede e quindi Microsoft Entra ID restituisce un token al dispositivo senza browser.

Applicazioni client riservate

  • Acquisisci il token per l'applicazione stessa usando le credenziali client, e non per un utente. Ad esempio, nelle app che elaborano gli utenti in batch e non in un determinato utente, ad esempio negli strumenti di sincronizzazione.
  • Nel caso di App Web o API Web che chiamano un'altra API Web downstream nel nome dell'utente, usare il flusso On Behalf Of per acquisire un token basato su un'asserzione utente (ad esempio SAML o un token JWT).
  • Per le app Web nel nome di un utente, acquisire i token in base al codice di autorizzazione dopo aver lasciato l'utente accedere tramite l'URL della richiesta di autorizzazione. Questo è in genere il meccanismo usato da un'applicazione che consente all'utente di accedere usando OpenID Connect, ma vuole quindi accedere alle API Web per questo particolare utente.

MSAL4J memorizza nella cache i token

Per le applicazioni client pubbliche e riservate, MSAL gestisce una cache dei token e le applicazioni devono provare a ottenere un token dalla cache prima di qualsiasi altro mezzo (tranne nel caso delle credenziali client, che esamina la cache da solo). Esaminare il modello consigliato per l'acquisizione di token.

Per poter usare la cache, l'applicazione deve personalizzare la serializzazione della cache dei token.