Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli dopiero zaczynasz korzystać z biblioteki MSAL, zacznij tutaj.
Jeśli pochodzisz z biblioteki MSAL w wersji 1.x, najpierw zapoznaj się z tym przewodnikiem , aby przeprowadzić migrację do biblioteki MSAL w wersji 2.x, a następnie wykonaj następne kroki.
Jeśli pochodzisz z biblioteki MSAL w wersji 2.x, możesz skorzystać z tego przewodnika, aby zaktualizować kod, aby użyć biblioteki MSAL w wersji 3.x.
Zmiany przełomowe
Tworzenie instancji aplikacji
W MSAL w wersji 2.x tworzono instancję aplikacji, jak poniżej:
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
W formacie MSAL w wersji 3.x należy również zainicjować obiekt aplikacji. Dostępnych jest kilka opcji:
Opcja 1
Utwórz obiekt PublicClientApplication i zainicjuj go później. Funkcja initialize jest asynchroniczna i musi zostać rozwiązana przed wywołaniem innych interfejsów API MSAL.js.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();
Opcja 2
Wywołaj metodę statyczną createPublicClientApplication , która zwraca zainicjowany PublicClientApplication obiekt. Należy pamiętać, że ta funkcja jest asynchroniczna.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);
Buforowanie oparte na oświadczeniach
W pliku MSAL w wersji 2.x dodanie oświadczeń do żądania spowoduje dodanie skrótu żądanego ciągu oświadczeń domyślnie do klucza pamięci podręcznej tokenu. Oznacza to, że biblioteka MSAL 2.x domyślnie buforuje tokeny i dopasowuje je na podstawie claims. W przypadku biblioteki MSAL w wersji 3.x to zachowanie nie jest już domyślne. Domyślne zachowanie biblioteki MSAL w wersji 3.x polega na przejściu do sieci w celu odświeżenia tokenu przy każdym żądaniu oświadczeń, niezależnie od tego, czy token został wcześniej buforowany i nadal jest prawidłowy. Następnie po przejściu do sieci token odebrany zastępuje buforowany token w przypadku wykonania żądania dyskretnego bez oświadczeń później. Aby umożliwić buforowanie oparte na oświadczeniach w msAL w wersji 3.x, aby zachować takie samo zachowanie jak w msAL w wersji 2.x, deweloperzy muszą użyć flagi konfiguracji ustawionej cacheOptions.claimsBasedCachingEnabled na wartość true w obiekcie konfiguracji aplikacji klienckiej:
const msalConfig = {
auth: {
...
},
...
cache: {
claimsBasedCachingEnabled: true
}
}
const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();
Wszystkie pozostałe interfejsy API są zgodne wstecz z MSAL w wersji 2.x. Zaleca się przyjrzenie domyślnemu przykładowi , aby zobaczyć działający przykład biblioteki MSAL w wersji 3.0.
Krypto
Biblioteka MSAL w wersji 3.x porzuca obsługę natywnej kryptografii w IE11 window.msCrypto oraz biblioteki kryptograficznej Microsoft Research dla języka JavaScript (MSR crypto) window.msrCrypto na rzecz natywnego interfejsu API kryptograficznego przeglądarki window.crypto.
Opcje config.system.cryptoOptions kryptograficzne, które były używane na potrzeby kryptografii MSR, nie są już obsługiwane.
Kluczowe zmiany
Obsługa przeglądarek
MSAL.js nie obsługuje już następujących przeglądarek:
- IE 11
- Edge (starsza wersja)
Zależności pakietów
Wersja języka TypeScript została podniesiona z 3.8.3 do 4.9.5.
Opcje kompilatora
Wersje modułu/docelowe zostały odpowiednio podniesione z es6/es5 do es2020/es2020.
CDN
MSAL.js nie jest już hostowana w usłudze CDN. Aby uzyskać więcej informacji, zapoznaj się z tym dokumentem .