Librerie di autenticazione di Microsoft Identity Platform

Le tabelle seguenti illustrano il supporto di Microsoft Authentication Library per diversi tipi di applicazione. Includono collegamenti al codice sorgente della libreria, dove ottenere il pacchetto per il progetto dell'app e se la libreria supporta l'accesso utente (autenticazione), l'accesso alle API Web protette (autorizzazione) o entrambe.

Microsoft Identity Platform è stato certificato da OpenID Foundation come provider OpenID certificato. Se si preferisce usare una libreria diversa da Microsoft Authentication Library (MSAL) o un'altra libreria supportata da Microsoft, sceglierne una con un'implementazione di OpenID Connessione certificata.

Se si sceglie di scrivere a mano la propria implementazione a livello di protocollo di OAuth 2.0 o OpenID Connessione 1.0, prestare particolare attenzione alle considerazioni sulla sicurezza nelle specifiche di ogni standard e seguire procedure di progettazione e sviluppo di software sicure come quelle in Microsoft SDL.

Applicazione a pagina singola

Un'applicazione a pagina singola viene eseguita interamente nel browser e recupera i dati di pagina (HTML, CSS e JavaScript) in modo dinamico o in fase di caricamento dell'applicazione. Può chiamare API Web per interagire con le origini dati back-end.

Poiché il codice di un'applicazione a pagina singola viene eseguito interamente nel browser, è considerato un client pubblico che non è in grado di archiviare i segreti in modo sicuro.

Linguaggio/framework Progetto in
GitHub
Pacchetto Ottenere
avviata
Consentire l'accesso degli utenti Accedere alle API Web Disponibile a livello generale (GA) o
Anteprimapubblica 1
Angular MSAL Angular v2 2 msal-angular Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Angular MSAL Angular3 msal-angular La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
AngularJS MSAL AngularJS3 msal-angularjs La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Anteprima pubblica
JavaScript MSAL.js v2 2 msal-browser Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
JavaScript MSAL.js 1.03 msal-core La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
React MSAL React2 msal-react Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale

1 Lecondizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.

2Flusso del codice di autenticazione solo con PKCE (scelta consigliata).

3Solo flusso di concessione implicita.

applicazione Web

Un'applicazione Web esegue il codice in un server che genera e invia HTML, CSS e JavaScript al Web browser di un utente di cui eseguire il rendering. L'identità dell'utente viene mantenuta come sessione tra il browser dell'utente (il front-end) e il server Web (back-end).

Poiché il codice di un'applicazione Web viene eseguito nel server Web, viene considerato un client riservato in grado di archiviare i segreti in modo sicuro.

Linguaggio/framework Progetto in
GitHub
Pacchetto Ottenere
avviata
Consentire l'accesso degli utenti Accedere alle API Web Disponibile a livello generale (GA) o
Anteprimapubblica 1
.NET MSAL.NET Microsoft.Identity.Client La libreria non può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
.NET Microsoft.IdentityModel Microsoft.IdentityModel La libreria non può richiedere token ID per l'accesso utente.2 La libreria non può richiedere token di accesso per le API Web protette.2 Disponibilità generale
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria non può richiedere token di accesso per le API Web protette. Disponibilità generale
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Java MSAL4J msal4j Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Node.JS MSAL Node msal-node Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Python MSAL Python msal La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Python identity identity Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. --

(1)Le condizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.

(2) La libreria Microsoft.IdentityModel convalida solo i token. Non può richiedere l'ID o i token di accesso.

Applicazione desktop

Un'applicazione desktop è in genere codice binario (compilato) che visualizza un'interfaccia utente e deve essere eseguito sul desktop di un utente.

Poiché un'applicazione desktop viene eseguita sul desktop dell'utente, è considerata un client pubblico che non è in grado di archiviare i segreti in modo sicuro.

Linguaggio/framework Progetto in
GitHub
Pacchetto Ottenere
avviata
Consentire l'accesso degli utenti Accedere alle API Web Disponibile a livello generale (GA) o
Anteprimapubblica 1
Electron MSAL Node.js msal-node La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Anteprima pubblica
Java MSAL4J msal4j La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
macOS (Swift/Obj-C) MSAL per iOS e macOS MSAL Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
UWP MSAL.NET Microsoft.Identity.Client Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
WPF MSAL.NET Microsoft.Identity.Client Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale

1 Lecondizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.

Applicazione per dispositivi mobili

Un'applicazione per dispositivi mobili è in genere codice binario (compilato) che visualizza un'interfaccia utente ed è destinato all'esecuzione nel dispositivo mobile di un utente.

Poiché un'applicazione per dispositivi mobili viene eseguita nel dispositivo mobile dell'utente, viene considerata un client pubblico che non è in grado di archiviare i segreti in modo sicuro.

Piattaforma Progetto in
GitHub
Pacchetto Ottenere
avviata
Consentire l'accesso degli utenti Accedere alle API Web Disponibile a livello generale (GA) o
Anteprimapubblica 1
Android (Java) MSAL Android MSAL Guida introduttiva La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Android (Kotlin) MSAL Android MSAL La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
iOS (Swift/Obj-C) MSAL per iOS e macOS MSAL Esercitazione La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client La libreria può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale

1 Lecondizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.

Servizio/daemon

I servizi e i daemon vengono comunemente usati per la comunicazione da server a server e altre comunicazioni automatiche (talvolta denominate headless). Poiché non è presente alcun utente nella tastiera per immettere le credenziali o fornire il consenso all'accesso alle risorse, queste applicazioni vengono autenticate come se stesse, non come un utente, quando si richiede l'accesso autorizzato alle risorse di un'API Web.

Un servizio o un daemon eseguito in un server è considerato un client riservato in grado di archiviare i segreti in modo sicuro.

Linguaggio/framework Progetto in
GitHub
Pacchetto Ottenere
avviata
Consentire l'accesso degli utenti Accedere alle API Web Disponibile a livello generale (GA) o
Anteprimapubblica 1
.NET MSAL.NET Microsoft.Identity.Client Guida introduttiva La libreria non può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Java MSAL4J msal4j La libreria non può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Node MSAL Node msal-node Guida introduttiva La libreria non può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale
Python MSAL Python msal-python Guida introduttiva La libreria non può richiedere token ID per l'accesso utente. La libreria può richiedere token di accesso per le API Web protette. Disponibilità generale

1 Lecondizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.

Passaggi successivi

Per altre informazioni su Microsoft Authentication Library, vedere La panoramica di Microsoft Authentication Library (MSAL).