Migración de MSAL Node v3 a v5

Note

No hay ninguna versión de MSAL Node v4. La versión del paquete se incrementó de v3 directamente a v5 para alinear msal-node el control de versiones con las otras bibliotecas de MSAL.js. No existe ningún conjunto de características v4 independiente.

Se ha eliminado la compatibilidad con Node.js 16 y 18

MSAL Node v5 ya no admite Node.js 16 o 18; debe usar Node.js 20 o posterior.

Quitado proxyUrl y customAgentOptions

MsAL Node v5 ya no proporciona configuración opcional para el cliente HTTP. Los parámetros proxyUrl y customAgentOptions se han eliminado 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;
};

Ahora, los desarrolladores deben escribir su propio cliente HTTP personalizado cuando se necesite compatibilidad con proxy. Consulte el ejemplo personalizado de INetworkModule para obtener más información sobre la implementación.

Cambios en la configuración

protocolMode trasladado a la configuración del sistema

El protocolMode parámetro ya no es una opción de configuración de autenticación y es en su lugar una opción de configuración del 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",
    },
};

Otros parámetros quitados

  • El parámetro skipAuthorityMetadataCache se ha quitado. Las aplicaciones ya no usan la caché de metadatos locales durante la inicialización de la autoridad.
  • El parámetro encodeExtraQueryParams se ha quitado. Todos los parámetros de consulta adicionales se codifican automáticamente.

fromNativeBroker se ha cambiado de nombre a fromPlatformBroker

En el objeto AuthenticationResult, el campo fromNativeBroker ha pasado a llamarse fromPlatformBroker.