Configuración del nodo MSAL

La biblioteca MSAL tiene un conjunto de opciones de configuración que se pueden usar para personalizar el comportamiento de los flujos de autenticación. Estas opciones se pueden establecer en el constructor del objeto PublicClientApplication o como parte de las API de solicitud. Aquí se describe el objeto de configuración que se puede pasar al constructor PublicClientApplication .

Prerequisites

Uso

El objeto de configuración se puede pasar al PublicClientApplication constructor . El único parámetro de configuración necesario es el client_id de la aplicación. Todo lo demás es opcional, pero puede ser necesario en función del flujo de autenticación, el inquilino y el modelo de aplicación.

A continuación se muestra el objeto Configuration con todos los parámetros admitidos:


// Call back APIs which automatically write and read into a .json file - example implementation
const beforeCacheAccess = async (cacheContext) => {
    cacheContext.tokenCache.deserialize(await fs.readFile(cachePath, "utf-8"));
};

const afterCacheAccess = async (cacheContext) => {
    if(cacheContext.cacheHasChanged){
        await fs.writeFile(cachePath, cacheContext.tokenCache.serialize());
    }
};

// Cache Plugin
const cachePlugin = {
    beforeCacheAccess,
    afterCacheAccess
};;

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        azureCloudOptions: {
            azureCloudInstance: "enter_AzureCloudInstance_here" // AzureCloudInstance enum is exported as a "type",
            tenant: "enter_tenant_info" // defaults to "common"
        }
    },
    cache: {
        cachePlugin // your implementation of cache plugin
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                console.log(message);
            },
            piiLoggingEnabled: false,
            logLevel: msal.LogLevel.Verbose,
        },
    }
}

const msalInstance = new PublicClientApplication(msalConfig);

Options

Opciones de configuración de autenticación

Opción Description Format Valor predeterminado
clientId Id. de aplicación de la aplicación. Puede encontrarse en el registro de la aplicación en el registro de la aplicación Centro de administración Microsoft Entra. UUID/GUID None. Este parámetro es necesario para que MSAL realice cualquier acción.
authority URI del inquilino con el que autenticar y autorizar. Normalmente toma la forma de https://{uri}/{tenantid} Cadena en formato URI con inquilino: https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Matriz de URI que se sabe que son válidas. Se usa en escenarios B2C. Matriz de cadenas en formato URI Matriz vacía []
cloudDiscoveryMetadata Cadena que contiene la respuesta de Cloud Discovery. Se usa en escenarios de Microsoft Entra. Consulte Rendimiento para obtener más información. string Cadena vacía ""
authorityMetadata Cadena que contiene la respuesta del punto de conexión .conocido/openid-configuration. Consulte Rendimiento para obtener más información. string Cadena vacía ""
clientCapabilities Matriz de funcionalidades que se van a agregar a todas las solicitudes de red como parte de la xms_cc solicitud de notificaciones Matriz de cadenas []
azureCloudOptions Un conjunto definido de opciones de nube de Azure para que los desarrolladores usen de forma predeterminada sus entidades de nube específicas, para nubes específicas admitidas, consulte AzureCloudInstance. AzureCloudOptions AzureCloudInstance.None

Opciones de configuración de caché

Opción Description Format Valor predeterminado
cachePlugin Complemento de caché con devoluciones de llamada para leer y escribir en la persistencia de caché (consulte también: almacenamiento en caché) ICachePlugin nulo

Opciones de configuración de Broker

Opción Description Format Valor predeterminado
nativeBrokerPlugin Complemento de agente para adquirir tokens a través de un agente de tokens nativo (consulte también: brokering) INativeBrokerPlugin nulo

Opciones de configuración del sistema

Opción Description Format Valor predeterminado
loggerOptions Objeto config para el registrador. Consulte a continuación. Consulte a continuación.
NetworkClient Implementación de HTTP personalizada INetworkModule HttpClient.ts
protocolMode Enumeración que representa el modo de protocolo que se va a usar. Si "AAD"es , funcionará en los puntos de conexión de Microsoft Entra v2; si "OIDC", funcionará en puntos de conexión compatibles con OIDC. string "AAD"
disableInternalRetries Si es true, MSAL no reintentará las solicitudes de red con errores. booleano false

Note

En MSAL Node v5, se quitaron los proxyUrl parámetros y customAgentOptions . Si la aplicación requiere compatibilidad con proxy, implemente un cliente HTTP personalizado mediante INetworkModule. Consulte el ejemplo personalizado INetworkModule para obtener un ejemplo. El protocolMode parámetro también se ha movido de la configuración de autenticación a la configuración del sistema.

Opciones de configuración del registrador

Opción Description Format Valor predeterminado
loggerCallback Función de devolución de llamada que controla el registro de instrucciones MSAL. Función : loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Consulte lo anterior.
piiLoggingEnabled Si es true, la información de identificación personal (PII) se incluye en los registros. booleano false

Opciones de configuración de telemetría

Opción Description Format Valor predeterminado
application Opciones de telemetría para aplicaciones que usan MSAL.js Consulte a continuación Consulte a continuación

Telemetría de aplicaciones

Opción Description Format Valor predeterminado
appName Nombre de cadena único de una aplicación string Cadena vacía ""
appVersion Versión de la aplicación mediante MSAL string Cadena vacía ""

Pasos siguientes

Continúe para comprender las API públicas proporcionadas por msal-node para adquirir tokens aquí.