Aktualizacja biblioteki MSAL Angular z wersji 2 do wersji 3

MSAL Angular w wersji 3 uaktualnia naszą nakładkę dla Angulara do najnowszej wersji biblioteki MSAL Browser oraz zapewnia gotową obsługę Angulara 15, 16, 17, 18 i rxjs 7.

W tym przewodniku przedstawiono zmiany wymagane do migracji istniejącej aplikacji z @azure/msal-angular wersji 2 do wersji 3.

Jeśli migrujesz z wersji @azure/msal-angular v1, najpierw zapoznaj się z przewodnikiem migracji z wersji v1 do v2, aby przejść na MSAL v2.

Zobacz również dokument migracji MSAL Browser, aby uzyskać informacje o obsłudze przeglądarek i innych kluczowych zmianach.

Zmiany powodujące niezgodność w @azure/msal-angular@3

Inicjalizacja

Aplikacje korzystające z przekierowań

Biblioteka MSAL w wersji 3.x wymaga teraz zainicjowania obiektu aplikacji. Inicjalizacja została wbudowana w interfejs API MsalRedirectComponent i handleRedirectObservable, a aplikacje, które zaimplementowały strategie przekierowania, nie muszą wprowadzać żadnych zmian. Jeśli aplikacja korzysta ze składników autonomicznych, może być konieczne wprowadzenie dodatkowych zmian.

Zapoznaj się z przewodnikiem dotyczącym przekierowań, aby uzyskać szczegółowe informacje na temat obsługi przekierowań w aplikacji.

Aplikacje korzystające z wyskakujących okienek

Ponieważ inicjalizacja jest wbudowana w MsalRedirectComponent i handleRedirectObservable, aplikacje, które korzystają wyłącznie z wyskakujących okien, będą musiały również albo uruchomić mechanizm bootstrap dla MsalRedirectComponent, albo jednorazowo ręcznie wywołać handleRedirectObservable, aby zainicjować obiekt aplikacji.

Zapoznaj się z przewodnikiem po przekierowaniach, aby uzyskać szczegóły konfiguracji.

Flaga allowNativeBroker

Flaga allowNativeBroker jest teraz domyślnie włączona w konfiguracjach. Jeśli używasz urzędu B2C, możesz wyłączyć go w następujący sposób:

export function MSALInstanceFactory(): IPublicClientApplication {
    return new PublicClientApplication({
        auth: {
            ...
        },
        cache: {
            ...
        },
        system: {
            allowNativeBroker: false, // Disables native brokering support
        }
    });
}

Angular 15, 16, 17, 18 i rxjs@7

MSAL Angular oczekuje teraz, że aplikacja jest zbudowana przy użyciu:

  • @angular/core@15 lub @angular/core@16 lub @angular/core@17 lub @angular/core@18
  • @angular/common@15 lub @angular/common@16 lub @angular/common@17 lub @angular/common@18
  • rxjs@7

Ze względu na tę zmianę usługa MSAL Angular w wersji 3 nie jest do tyłu zgodna z wcześniejszymi wersjami usług Angular i RxJS i może być konieczne zaktualizowanie aplikacji. Postępuj zgodnie z przewodnikiem po aktualizacji platformy Angular , aby zaktualizować aplikację do platformy Angular 15, 16, 17 lub 18.

Podobnie jak w przypadku biblioteki MSAL Angular w wersji 2, rxjs-compat nie jest wymagane.

Przykłady

Dostępne są teraz następujące przykłady dla deweloperów:

Przykłady przedstawiają podstawową konfigurację i użycie oraz mogą zostać ulepszone i dodane przyrostowo.

Zobacz tutaj , aby zapoznać się z listą przykładów biblioteki MSAL Angular w wersji 3 i przedstawionych funkcji.