Librerie di autenticazione per Microsoft Identity Platform
Le tabelle seguenti illustrano il supporto di Microsoft Authentication Library per diversi tipi di applicazione. Includono link al codice sorgente della raccolta, dove ottenere il pacchetto per il progetto dell'app e se la raccolta supporta l'accesso utente (autenticazione), l'accesso ad API Web protette (autorizzazione) o entrambi.
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 Connect certificata.
Se si sceglie di scrivere a mano la propria implementazione a livello di protocollo di OAuth 2.0 o OpenID Connect 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 di 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 | Recupero avviata |
Consentire l'accesso degli utenti | Accedere alle API Web | Disponibile a livello generale (GA) o Anteprima pubblica1 |
---|---|---|---|---|---|---|
Angular | MSAL Angular v22 | msal-angular | Guida introduttiva | Disponibilità generale | ||
Angular | MSAL Angular3 | msal-angular | — | Disponibilità generale | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Anteprima pubblica | ||
JavaScript | MSAL.js v22 | msal-browser | Esercitazione | Disponibilità generale | ||
JavaScript | MSAL.js 1.03 | msal-core | — | Disponibilità generale | ||
React | MSAL React2 | msal-react | Guida introduttiva | Disponibilità generale |
1 Le condizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.
2 Flusso del codice di autenticazione solo con PKCE (scelta consigliata).
3 Solo flusso di concessione implicita (non consigliato).
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 | Recupero avviata |
Consentire l'accesso degli utenti | Accedere alle API Web | Disponibile a livello generale (GA) o Anteprima pubblica1 |
|
---|---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | Disponibilità generale | |||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | Disponibilità generale | |
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Guida introduttiva | Disponibilità generale | |||
Java | MSAL4J | msal4j | Guida introduttiva | Disponibilità generale | |||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Esercitazione | Disponibilità generale | |||
Node.js | MSAL Node | msal-node | Guida introduttiva | Disponibilità generale | |||
Python | MSAL Python | msal | Disponibilità generale | ||||
Python | identity | identity | Guida introduttiva | -- |
(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 token ID o 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 | Recupero avviata |
Consentire l'accesso degli utenti | Accedere alle API Web | Disponibile a livello generale (GA) o Anteprima pubblica1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-node | — | Anteprima pubblica | ||
Java | MSAL4J | msal4j | — | Disponibilità generale | ||
macOS (Swift/Obj-C) | MSAL per iOS e macOS | MSAL | Esercitazione | Disponibilità generale | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Esercitazione | Disponibilità generale | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Esercitazione | Disponibilità generale |
1 Le condizioni 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 mobile viene eseguita sul dispositivo mobile dell'utente, è considerata un client pubblico che non è in grado di archiviare i segreti in modo sicuro.
Piattaforma | Progetto in GitHub |
Pacchetto | Recupero avviata |
Consentire l'accesso degli utenti | Accedere alle API Web | Disponibile a livello generale (GA) o Anteprima pubblica1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Guida introduttiva | Disponibilità generale | ||
Android (Kotlin) | MSAL Android | MSAL | — | Disponibilità generale | ||
iOS (Swift/Obj-C) | MSAL per iOS e macOS | MSAL | Esercitazione | Disponibilità generale | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | Disponibilità generale |
1 Le condizioni 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 viene considerato un client riservato in grado di archiviare i segreti in modo sicuro.
Linguaggio/framework | Progetto in GitHub |
Pacchetto | Recupero avviata |
Consentire l'accesso degli utenti | Accedere alle API Web | Disponibile a livello generale (GA) o Anteprima pubblica1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | Guida introduttiva | Disponibilità generale | ||
Java | MSAL4J | msal4j | — | Disponibilità generale | ||
Nodo | MSAL Node | msal-node | Guida introduttiva | Disponibilità generale | ||
Python | MSAL Python | msal-python | Guida introduttiva | Disponibilità generale |
1 Le condizioni di licenza universali per i servizi online si applicano alle librerie in anteprima pubblica.
Passaggi successivi
Per altre informazioni su Microsoft Authentication Library, vedere Panoramica di Microsoft Authentication Library (MSAL).