Authentication Library di Microsoft per JavaScript (MSAL.js)

Il Authentication Library di Microsoft per JavaScript consente alle applicazioni JavaScript lato client e lato server di autenticare gli utenti usando Microsoft Entra ID per gli account aziendali e dell'istituto di istruzione, Microsoft account personali (MSA) e provider di identità di social networking come Facebook, Google, LinkedIn, account Microsoft e così via tramite Azure servizio AD B2C. Consente anche all'app di ottenere token per accedere ai servizi Microsoft Cloud, ad esempio Microsoft Graph.

Librerie di base e wrapper

La cartella lib contiene il codice sorgente delle librerie MSAL.js attualmente in fase di sviluppo. Troverai anche tutti i dettagli sull'installazione delle librerie nei rispettivi file README.md.

Novità della versione 5

MSAL.js v5 introduce diverse funzionalità principali:

  • Supporto per Cross-Origin-Opener-Policy (COOP): abilita i flussi di autenticazione tramite popup in ambienti con header COOP restrittivi.
  • Autenticazione MCP (Model Context Protocol): supporta i flussi di autenticazione per l'agente di intelligenza artificiale e le integrazioni degli strumenti.
  • Autenticazione annidata delle app (NAA): consente l'autenticazione per le app in esecuzione all'interno delle applicazioni host di Microsoft 365 usando createNestablePublicClientApplication.
  • localStorage AES-GCM crittografia: crittografa la cache dei token in localStorage usando AES-GCM per migliorare la sicurezza.
  • Funzioni factory: usare createStandardPublicClientApplication o createNestablePublicClientApplication per inizializzare MSAL con una configurazione asincrona.
  • Integrazione del broker di piattaforma (WAM): abilitare l'autenticazione tramite broker di Windows Authentication Manager (WAM) tramite l'opzione di configurazione allowPlatformBroker.

Per le guide alla migrazione a MSAL JavaScript v5.x, vedere:

Librerie con supporto a lungo termine (LTS)

La tabella seguente illustra le versioni attive e LTS per ogni libreria MSAL.js:

Library Versione attiva Versione LTS
msal-browser v5.x v2.x
msal-node v5.x v1.x
msal-react v5.x v1.x
msal-angular v5.x v2.x

Le librerie LTS ospitate nel msal-lts ramo non sono più in fase di sviluppo attivo, ma ricevono comunque supporto critico per la correzione di bug di sicurezza.

Note

Il ramo msal-lts include anche le versioni v3.x e v4.x di msal-browser, che non sono più nel periodo di supporto attivo.

Struttura del pacchetto

Esistono diversi pacchetti destinati a piattaforme diverse. È possibile visualizzare la relazione tra pacchetti e diversi flussi di autenticazione implementati nella struttura del pacchetto seguente.

Screenshot del diagramma della struttura del pacchetto JavaScript MSAL.

Esempi

I code samples mostrano come utilizzare le librerie di autenticazione Microsoft per JavaScript con la piattaforma di identità. Ogni esempio di codice include un README.md file che descrive come compilare il progetto (se applicabile) ed eseguire l'applicazione di esempio.

Per un elenco completo degli esempi destinati a JavaScript e ad altri linguaggi, framework e piattaforme, vedere gli esempi di codice Microsoft Identity Platform.

Per le funzionalità di autenticazione nativa, le app di esempio illustrano come usare l'autenticazione nativa nelle applicazioni Web React e Angular. Ogni esempio di codice include un README.md file che descrive come compilare il progetto ed eseguire l'applicazione di esempio. L'API di autenticazione nativa corrente non supporta la condivisione di risorse tra le origini (CORS), l'app di esempio verrà eseguita usando il proxy locale.

Controllo delle versioni dei pacchetti

Tutte le librerie seguono il controllo delle versioni semantiche. È consigliabile usare la versione più recente di ogni libreria per assicurarsi di avere le patch di sicurezza e le correzioni di bug più recenti.

Creazione di report sulla sicurezza

Se si riscontra un problema di sicurezza con le librerie o i servizi, segnalarlo al Microsoft Security Response Center (MSRC) con il maggior numero di dettagli possibile.