Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se non conosci ancora MSAL, dovresti iniziare qui.
Se provieni da MSAL v1.x, dovresti prima consultare questa guida per migrare a MSAL v2.x e poi seguire i passaggi successivi.
Se si proviene da MSAL v2.x, è possibile seguire questa guida per aggiornare il codice per usare MSAL v3.x.
Modifiche radicali
Istanziazione dell'applicazione
In MSAL v2.x è stata creata un'istanza dell'applicazione come indicato di seguito:
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
In MSAL v3.x è necessario inizializzare anche l'oggetto applicazione. Sono disponibili diverse opzioni:
Opzione 1
Creare un oggetto PublicClientApplication e inizializzarlo successivamente. La initialize funzione è asincrona e deve essere risolta prima di richiamare altre API MSAL.js.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();
Opzione 2
Richiamare il createPublicClientApplication metodo statico che restituisce un oggetto inizializzato PublicClientApplication . Si noti che questa funzione è asincrona.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);
Memorizzazione nella cache basata sulle attestazioni
In MSAL v2.x, l'aggiunta di attestazioni a una richiesta comporterà l'aggiunta di un hash della stringa di attestazioni richiesta alla chiave della cache dei token per impostazione predefinita. Ciò significa che MSAL 2.x, per impostazione predefinita, memorizza i token nella cache e li confronta in base alle attestazioni. In MSAL v3.x questo comportamento non è più quello predefinito. Il comportamento predefinito di MSAL v3.x consiste nell'passare alla rete per aggiornare un token ogni volta che vengono richieste attestazioni, indipendentemente dal fatto che il token sia stato memorizzato nella cache in precedenza ed è ancora valido. Quindi, dopo aver effettuato la chiamata di rete, il token ricevuto sovrascrive il token memorizzato nella cache qualora venga successivamente eseguita una richiesta silenziosa senza claim. Per abilitare la cache basata sulle attestazioni in MSAL v3.x e mantenere lo stesso comportamento di MSAL v2.x, gli sviluppatori devono usare il flag di configurazione cacheOptions.claimsBasedCachingEnabled impostato su true nell'oggetto di configurazione dell'applicazione client:
const msalConfig = {
auth: {
...
},
...
cache: {
claimsBasedCachingEnabled: true
}
}
const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();
Tutte le altre API sono retrocompatibili con MSAL v2.x. È consigliabile esaminare l'esempio predefinito per visualizzare un esempio funzionante di MSAL v3.0.
Cripto
MSAL v3.x elimina il supporto per la crittografia window.msCrypto nativa di Internet Explorer 11 e Microsoft Research JavaScript Cryptography Library (MSR crypto) window.msrCrypto a favore dell'API window.cryptodi crittografia del browser nativo.
Le opzioni config.system.cryptoOptions di crittografia usate per la crittografia MSR non sono più supportate.
Modifiche chiave
Supporto del browser
MSAL.js non supporta più i browser seguenti:
- Internet Explorer 11
- Edge (Legacy)
Dipendenze dei pacchetti
La versione di Typescript è stata aggiornata da 3.8.3 a 4.9.5.
Opzioni del compilatore
Le versioni del modulo/della destinazione sono state aggiornate rispettivamente da es6/es5 a es2020/es2020.
CDN
MSAL.js non è più ospitato in una rete CDN. Per altri dettagli, vedere questo documento .