Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du är nybörjare på MSAL bör du börja här.
Om du kommer från MSAL v1.x bör du först kontrollera den här guiden för att migrera till MSAL v2.x och sedan följa nästa steg.
Om du kommer från MSAL v2.x kan du följa den här guiden för att uppdatera koden för att använda MSAL v3.x.
Brytande förändringar
Applikationsinstansiering
I MSAL v2.x skapade du en programinstans enligt nedan:
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
I MSAL v3.x måste du även initiera programobjektet. Det finns flera alternativ till ditt förfogande:
Alternativ 1
Instansiera ett PublicClientApplication objekt och initiera det efteråt. Funktionen initialize är asynkron och måste lösas innan andra MSAL.js API:er anropas.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();
Alternativ 2
Anropa den createPublicClientApplication statiska metoden som returnerar ett initierat PublicClientApplication objekt. Observera att den här funktionen är asynkron.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);
Anspråksbaserad cachelagring
I MSAL v2.x resulterar tillägg av anspråk i en begäran i att en hash av den begärda anspråkssträngen läggs till i tokencachenyckeln som standard. Detta innebär att MSAL 2.x cachelagrar och matchar token baserat på anspråk som standard. I MSAL v3.x är det här beteendet inte längre standard. Standardbeteendet för MSAL v3.x är att gå till nätverket för att uppdatera en token varje gång anspråk begärs, oavsett om token har cachelagrats tidigare och fortfarande är giltig. Sedan, efter att ett nätverksanrop har gjorts, ersätter den mottagna tokenen den cachelagrade tokenen om en tyst begäran utan claims utförs senare. För att aktivera anspråksbaserad cachelagring i MSAL v3.x för att upprätthålla samma beteende som i MSAL v2.x måste utvecklare använda cacheOptions.claimsBasedCachingEnabled konfigurationsflaggan inställd på true i konfigurationsobjektet för klientprogram:
const msalConfig = {
auth: {
...
},
...
cache: {
claimsBasedCachingEnabled: true
}
}
const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();
Alla andra API:er är bakåtkompatibla med MSAL v2.x. Vi rekommenderar att du tar en titt på standardexemplet för att se ett fungerande exempel på MSAL v3.0.
Krypto
MSAL v3.x släpper stödet för intern IE11-kryptografi window.msCrypto och Microsoft Research JavaScript Cryptography Library (MSR crypto) window.msrCrypto till förmån för internt krypto-API window.cryptoför webbläsare.
Kryptoalternativ config.system.cryptoOptions som användes för MSR-kryptografi stöds inte längre.
Viktiga ändringar
Webbläsarstöd
MSAL.js stöder inte längre följande webbläsare:
- IE 11
- Edge (äldre)
Paketberoenden
TypeScript-versionen uppgraderades från 3.8.3 till 4.9.5.
Kompilatoralternativ
Modul- och målversioner höjdes från es6/es5 till es2020/es2020 respektive.
CDN
MSAL.js finns inte längre på ett CDN. Mer information finns i det här dokumentet .