Atualização do MSAL Angular v2 para v3

O MSAL Angular v3 atualiza o nosso wrapper para Angular para a versão mais recente do MSAL Browser, com suporte imediato para Angular 15, 16, 17, 18 e RxJS 7.

Este guia irá demonstrar as alterações necessárias para migrar uma aplicação existente da @azure/msal-angular v2 para a v3.

Se estiver a migrar da versão @azure/msal-angular v1, consulte primeiro o guia de migração da v1 para a v2 para migrar para o MSAL v2.

Por favor, consulte também o Documento de Migração do Navegador MSAL para suporte ao navegador e outras alterações importantes.

Mudanças significativas na @azure/msal-angular@3

Inicialização

Aplicações que usam redirecionamentos

O MSAL v3.x agora requer inicializar o objeto de aplicação. A inicialização foi incorporada na API MsalRedirectComponent e handleRedirectObservable, e as aplicações que implementaram estratégias de redirecionamento não precisam de fazer alterações. Podem ser necessárias alterações adicionais se a sua aplicação estiver a usar componentes autónomos.

Consulte o guia dos redirecionamentos para detalhes sobre como lidar com os redirecionamentos na sua candidatura.

Aplicações que utilizam popups

Devido à inicialização incorporada em MsalRedirectComponent e handleRedirectObservable, aplicações que usam apenas popups também terão de iniciar manualmente o MsalRedirectComponent ou chamar handleRedirectObservable manualmente uma vez para inicializar o objeto de aplicação.

Consulte o guia de redirecionamentos para detalhes da configuração.

O allowNativeBroker sinalizador

A allowNativeBroker flag está agora ativada por defeito nas configurações. Se estiveres a usar uma autoridade B2C, podes desligá-la da seguinte forma:

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

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

O MSAL Angular agora espera que a sua aplicação seja construída com:

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

Devido a esta alteração, o MSAL Angular v3 não é compatível com versões anteriores do Angular e RxJS e poderá ser necessário atualizar a sua aplicação. Por favor, siga o Guia de Atualização do Angular para atualizar a sua candidatura para o Angular 15, 16, 17 ou 18.

Tal como no MSAL Angular v2, rxjs-compat não é obrigatório.

Samples

Os seguintes exemplos de programadores estão agora disponíveis:

As amostras demonstram configuração e utilização básicas, podendo ser melhoradas e adicionadas de forma incremental.

Veja aqui uma lista dos exemplos MSAL Angular v3 e as funcionalidades demonstradas.