Registro en MSAL.js

En este artículo se proporciona información general sobre los distintos tipos de errores y recomendaciones para controlar los errores de inicio de sesión comunes.

Aspectos básicos del control de errores de MSAL

Las excepciones de Biblioteca de autenticación de Microsoft (MSAL) están diseñadas para que los desarrolladores de aplicaciones solucionen problemas, no para mostrarlos a los usuarios finales. Los mensajes de excepción no se localizan.

Al procesar excepciones y errores, puede usar el propio tipo de excepción y el código de error para distinguir entre excepciones. Para obtener una lista de códigos de error, consulte Microsoft Entra códigos de error de autenticación y autorización.

Durante la experiencia de inicio de sesión, puede encontrar errores sobre los consentimientos, el acceso condicional (MFA, Administración de dispositivos, restricciones basadas en ubicación), la emisión y el canje de tokens y las propiedades del usuario.

En la sección siguiente se proporcionan más detalles sobre el control de errores de la aplicación.

Configurar el registro en MSAL.js

Puede habilitar el registro en MSAL.js (JavaScript) si pasa un objeto loggerOptions durante la configuración para crear una instancia de PublicClientApplication. El único parámetro de configuración necesario es el identificador de cliente de la aplicación. Todo lo demás es opcional, pero puede ser necesario en función del inquilino y el modelo de aplicación.

El objeto loggerOptions tiene las siguientes propiedades:

  • loggerCallback: una función de devolución de llamada que puede proporcionar el desarrollador para administrar el registro de las instrucciones de MSAL de forma personalizada. Implemente la loggerCallback función en función de cómo quiera redirigir los registros. La función loggerCallback tiene el siguiente formato (level: LogLevel, message: string, containsPii: boolean): void
    • Los niveles de registro admitidos son: Error, Warning, Infoy Verbose. El valor predeterminado es Info.
  • piiLoggingEnabled (opcional): si se establece en true, registra datos personales y organizativos. De forma predeterminada, esto es false para que la aplicación no registre datos personales. Los registros de datos personales nunca se escriben en salidas predeterminadas como Console, Logcat o NSLog.
import msal from "@azure/msal-browser"

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        redirectUri: "enter_redirect_uri_here",
        postLogoutRedirectUri: "enter_postlogout_uri_here",
        navigateToLoginRequestUrl: true,
        clientCapabilities: ["CP1"]
    },
    cache: {
        cacheLocation: "sessionStorage",
        storeAuthStateInCookie: false,
        secureCookies: false
    },
    system: {
        loggerOptions: {
            logLevel: msal.LogLevel.Verbose,
            loggerCallback: (level, message, containsPii) => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case msal.LogLevel.Error:
                        console.error(message);
                        return;
                    case msal.LogLevel.Info:
                        console.info(message);
                        return;
                    case msal.LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case msal.LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false
        },
    },
};

Pasos siguientes

Para obtener más ejemplos de código, consulte Plataforma de identidad de Microsoft ejemplos de código.