Обновление с MSAL Angular версии 2 до версии 3

MSAL Angular v3 приводит нашу оболочку для Angular в соответствие с последней версией MSAL Browser и обеспечивает встроенную поддержку Angular 15, 16, 17, 18 и RxJS 7.

В этом руководстве показаны изменения, необходимые для переноса существующего приложения из @azure/msal-angular версии 2 в версию 3.

Если вы переходите с @azure/msal-angular v1, сначала ознакомьтесь с руководством по миграции с v1 на v2, чтобы перейти на MSAL v2.

См. также MSAL Browser Migration Doc для получения сведений о поддержке браузеров и других важных изменениях.

Серьезные изменения в @azure/msal-angular@3

Инициализация

Приложения с использованием перенаправлений

MsAL версии 3.x теперь требует инициализации объекта приложения. Инициализация была встроена в API MsalRedirectComponent и handleRedirectObservable, и приложениям, реализовавшим стратегии перенаправления, не нужно вносить изменения. Если приложение использует автономные компоненты, может потребоваться вносить дополнительные изменения.

Дополнительные сведения об обработке перенаправлений в приложении см. в руководстве по перенаправлению.

Приложения с помощью всплывающих окон

Поскольку инициализация встроена в MsalRedirectComponent и handleRedirectObservable, приложениям, использующим только всплывающие окна, также потребуется либо инициализировать MsalRedirectComponent, либо один раз вручную вызвать handleRedirectObservable, чтобы инициализировать объект приложения.

Дополнительные сведения см. в руководстве по перенаправлениям .

Флаг allowNativeBroker

Теперь allowNativeBroker флаг включен по умолчанию в конфигурациях. Если вы используете центр сертификации B2C, его можно отключить следующим образом:

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

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

MSAL Angular теперь ожидает, что приложение создано с помощью:

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

Из-за этого изменения MSAL Angular v3 не имеет обратной совместимости с более ранними версиями Angular и RxJS, и вам может потребоваться обновить свое приложение. Следуйте инструкциям по обновлению Angular , чтобы обновить приложение до Angular 15, 16, 17 или 18.

Как и в MSAL Angular версии 2, rxjs-compat не требуется.

Samples

Теперь доступны следующие примеры для разработчиков:

Примеры демонстрируют базовую конфигурацию и использование, а также могут постепенно улучшаться и дополняться.

См. здесь список примеров MSAL Angular версии 3 и показанных функций.