Configurer le nœud MSAL

La bibliothèque MSAL a un ensemble d’options de configuration qui peuvent être utilisées pour personnaliser le comportement de vos flux d’authentification. Ces options peuvent être définies dans le constructeur de l’objet PublicClientApplication ou dans le cadre des API de requête. Ici, nous décrivons l’objet de configuration qui peut être transmis au constructeur PublicClientApplication .

Prerequisites

Usage

L’objet de configuration peut être passé dans le PublicClientApplication constructeur. Le seul paramètre de configuration requis est l’application client_id . Tout le reste est facultatif, mais peut être nécessaire en fonction de votre flux d’authentification, locataire et modèle d’application.

L’objet Configuration avec tous les paramètres pris en charge est illustré ci-dessous :


// 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

Options de configuration d’authentification

Option Description Format Valeur par défaut
clientId ID d’application de votre application. Se trouve dans l’inscription de votre application dans l’inscription de l’application centre d’administration Microsoft Entra. UUID/GUID Aucun. Ce paramètre est requis pour que MSAL effectue toutes les actions.
authority URI du locataire avec authentification et autorisation. Prend généralement la forme de https://{uri}/{tenantid} Chaîne au format URI avec le locataire - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Tableau d’URI connus comme valides. Utilisé dans les scénarios B2C. Tableau de chaînes au format URI Tableau vide []
cloudDiscoveryMetadata Chaîne contenant la réponse de découverte cloud. Utilisé dans Microsoft Entra scénarios. Pour plus d’informations sur les performances ficelle Chaîne vide ""
authorityMetadata Chaîne contenant la réponse du point de terminaison .well-known/openid-configuration. Pour plus d’informations sur les performances ficelle Chaîne vide ""
clientCapabilities Tableau de fonctionnalités à ajouter à toutes les demandes réseau dans le cadre de la xms_cc demande de revendications Tableau de chaînes []
azureCloudOptions Un ensemble défini d’options cloud Azure pour les développeurs par défaut avec leurs autorités cloud spécifiques, pour des clouds spécifiques pris en charge, reportez-vous à AzureCloudInstance. AzureCloudOptions AzureCloudInstance.None

Options de configuration du cache

Option Description Format Valeur par défaut
cachePlugin Plug-in de cache avec rappels pour la lecture et l’écriture dans la persistance du cache (voir aussi : mise en cache) ICachePlugin zéro

Options de configuration du répartiteur

Option Description Format Valeur par défaut
nativeBrokerPlugin Plug-in Broker pour l’acquisition de jetons via un répartiteur de jetons natif (voir également : brokering) INativeBrokerPlugin zéro

Options de configuration système

Option Description Format Valeur par défaut
loggerOptions Objet config pour l’enregistreur d’événements. Voir ci-dessous. Voir ci-dessous.
NetworkClient Implémentation HTTP personnalisée INetworkModule HttpClient.ts
protocolMode Énumération représentant le mode de protocole à utiliser. Si "AAD", fonctionne sur les points de terminaison Microsoft Entra v2 ; si "OIDC", fonctionne sur les points de terminaison conformes à OIDC. ficelle "AAD"
disableInternalRetries Si la valeur est true, MSAL ne réessaye pas les demandes réseau ayant échoué booléen false

Note

Dans MSAL Node v5, les paramètres et customAgentOptions les proxyUrl paramètres ont été supprimés. Si votre application nécessite une prise en charge du proxy, implémentez un client HTTP personnalisé à l’aide d’INetworkModule. Consultez l’exemple INetworkModule personnalisé pour obtenir un exemple. Le protocolMode paramètre a également été déplacé de la configuration d’authentification à la configuration système.

Options de configuration de l’enregistreur d’événements

Option Description Format Valeur par défaut
loggerCallback Fonction de rappel qui gère la journalisation des instructions MSAL. Fonction - loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Voir ci-dessus.
piiLoggingEnabled Si la valeur est true, les informations d’identification personnelle (PII) sont incluses dans les journaux. booléen false

Options de configuration de télémétrie

Option Description Format Valeur par défaut
application Options de télémétrie pour les applications utilisant MSAL.js Voir ci-dessous Voir ci-dessous

Télémétrie d’application

Option Description Format Valeur par défaut
appName Nom de chaîne unique d’une application ficelle Chaîne vide «  »
appVersion Version de l’application à l’aide de MSAL ficelle Chaîne vide «  »

Prochaines étapes

Passez à la compréhension des API publiques fournies msal-node par l’acquisition de jetons ici