Migrálás MSAL v2.x-ről MSAL v3.x-re

Ha még nem ismerkedik az MSAL-zal, itt kell kezdenie.

Ha az MSAL 1.x-ből származik, először ellenőrizze ezt az útmutatót , hogy migráljon az MSAL v2.x-be, majd kövesse a következő lépéseket.

Ha az MSAL v2.x-ről érkezik, az útmutatót követve frissítheti a kódot az MSAL v3.x használatára.

Kritikus változások

Alkalmazás példányosítása

Az MSAL v2.x-ben az alábbiak szerint létrehozott egy alkalmazáspéldányt:

import { PublicClientApplication } from "@azure/msal-browser";

const msalConfig = {
    auth: {
        clientId: 'your_client_id'
    }
};

const msalInstance = new PublicClientApplication(msalConfig);

Az MSAL v3.x-ben inicializálnia kell az alkalmazásobjektumot is. Számos lehetőség áll rendelkezésére:

1. lehetőség

Példányosít egy PublicClientApplication objektumot, majd inicializálja azt. A initialize függvény aszinkron, és más MSAL.js API-k meghívása előtt fel kell oldania.

import { PublicClientApplication } from "@azure/msal-browser";

const msalConfig = {
    auth: {
        clientId: 'your_client_id'
    }
};

const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();

2\. lehetőség

createPublicClientApplication Inicializált objektumot visszaadó statikus metódus meghívásaPublicClientApplication. Vegye figyelembe, hogy ez a függvény aszinkron.

import { PublicClientApplication } from "@azure/msal-browser";

const msalConfig = {
    auth: {
        clientId: 'your_client_id'
    }
};

const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);

Jogcímalapú gyorsítótárazás

Az MSAL v2.x-ben a claim-ek kérelemhez való hozzáadásakor alapértelmezés szerint a kért claim-eket tartalmazó karakterlánc hash-e hozzáadódik a token gyorsítótár kulcsához. Ez azt jelenti, hogy az MSAL 2.x alapértelmezés szerint gyorsítótárazza, és a jogcímek alapján egyezteti a jogkivonatokat. Az MSAL v3.x-ben ez a viselkedés már nem az alapértelmezett. Az MSAL v3.x alapértelmezett viselkedése az, hogy a hálózatra lépve minden jogcím kérésekor frissíti a jogkivonatot, függetlenül attól, hogy a jogkivonatot korábban gyorsítótárazták-e, és továbbra is érvényes-e. Ezután a hálózatra való ugrás után a kapott jogkivonat felülírja a gyorsítótárazott jogkivonatot abban az esetben, ha később jogcímek nélküli csendes kérést hajtanak végre. Ahhoz, hogy az MSAL v3.x-ben a jogcímeken alapuló gyorsítótárazás ugyanúgy működjön, mint az MSAL v2.x-ben, a fejlesztőknek az ügyfélalkalmazás konfigurációs objektumában található, true értékre állított cacheOptions.claimsBasedCachingEnabled konfigurációs jelzőt kell használniuk:

const msalConfig = {
    auth: {
        ...
    },
    ...
    cache: {
        claimsBasedCachingEnabled: true
    }
}

const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();

Minden más API visszamenőlegesen kompatibilis az MSAL 2.x-sel. Javasoljuk, hogy tekintse meg az alapértelmezett mintát , hogy láthassa az MSAL 3.0-s verziójának működő példáját.

Kripto

Az MSAL v3.x megszünteti az IE11 natív crypto window.msCrypto és a Microsoft Research JavaScript Cryptography Library (MSR crypto) window.msrCrypto támogatását, a böngésző natív kriptográfiai API-ja window.crypto javára. Az MSR-titkosításhoz használt kriptográfiai lehetőségek config.system.cryptoOptions már nem támogatottak.

Főbb változások

Böngésző támogatás

MSAL.js már nem támogatja a következő böngészőket:

  • IE 11
  • Edge (régi verzió)

Csomagfüggőségek

A TypeScript verziója 3.8.3-ról 4.9.5-ra lett frissítve.

Fordító beállításai

A modul-/célverziók értéke rendre es6/es5 verzióról es2020/es2020 verzióra változott.

CDN

MSAL.js már nincs CDN-en üzemeltetve. További részletekért tekintse meg ezt a dokumentumot .