Migrar do MSAL Node v3 para a v5

Note

Não existe uma versão MSAL Node v4. A versão do pacote foi aumentada diretamente da v3 para a v5 para alinhar o versionamento de msal-node com o das outras bibliotecas MSAL.js. Não existe um conjunto de funcionalidades da v4 em separado.

Foi removido o suporte para o Node.js 16 e 18

O MSAL Node v5 já não suporta Node.js 16 ou 18; Deve usar Node.js 20 ou mais tarde.

Removido proxyUrl e customAgentOptions

O MSAL Node v5 já não fornece configuração opcional para o cliente HTTP. Os proxyUrl parâmetros e customAgentOptions foram removidos de NodeSystemOptions.

// BEFORE (v3)
NodeSystemOptions = {
    loggerOptions?: LoggerOptions;
    networkClient?: INetworkModule;
    proxyUrl?: string;
    customAgentOptions?: http.AgentOptions | https.AgentOptions;
    disableInternalRetries?: boolean;
    protocolMode?: ProtocolMode;
};

// AFTER (v5)
NodeSystemOptions = {
    loggerOptions?: LoggerOptions;
    networkClient?: INetworkModule;
    disableInternalRetries?: boolean;
    protocolMode?: ProtocolMode;
};

Os programadores devem agora escrever o seu próprio cliente HTTP personalizado quando for necessário suporte a proxy. Consulte o exemplo personalizado do INetworkModule para detalhes de implementação.

Alterações de configuração

protocolMode Movido para a configuração do sistema

O protocolMode parâmetro deixa de ser uma opção de configuração de autenticação e passa a ser uma opção de configuração do sistema.

// BEFORE (v3)
const msalConfig = {
    auth: {
        clientId: "your_client_id",
        authority: "https://login.live.com",
        protocolMode: "OIDC",
    },
};

// AFTER (v5)
const msalConfig = {
    auth: {
        clientId: "your_client_id",
        authority: "https://login.live.com",
    },
    system: {
        protocolMode: "OIDC",
    },
};

Outros parâmetros removidos

  • O skipAuthorityMetadataCache parâmetro foi removido. As aplicações já não utilizam a cache local de metadados durante a inicialização da autoridade.
  • O encodeExtraQueryParams parâmetro foi removido. Todos os parâmetros extra de consulta são codificados automaticamente.

fromNativeBroker renomeado para fromPlatformBroker

No AuthenticationResult objeto, o fromNativeBroker campo foi renomeado para fromPlatformBroker.