Konfigurera MSAL-nod

MSAL-biblioteket har en uppsättning konfigurationsalternativ som kan användas för att anpassa beteendet för dina autentiseringsflöden. Dessa alternativ kan anges antingen i konstruktorn för objektet PublicClientApplication eller som en del av API:erna för begäran. Här beskriver vi konfigurationsobjektet som kan skickas till konstruktorn PublicClientApplication .

Förutsättningar

Usage

Konfigurationsobjektet kan skickas till PublicClientApplication konstruktorn. Den enda obligatoriska konfigurationsparametern client_id är programmets. Allt annat är valfritt, men kan krävas beroende på ditt autentiseringsflöde, klientorganisation och programmodell.

Konfigurationsobjektet med alla parametrar som stöds visas nedan:


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

Konfigurationsalternativ för autentisering

Alternativet Description Format Standardvärdet
clientId App-ID för ditt program. Finns i din appregistrering i Microsoft Entra administrationscenter appregistrering. UUID/GUID Inget. Den här parametern krävs för att MSAL ska kunna utföra några åtgärder.
authority URI för klientorganisationen att autentisera och auktorisera med. Vanligtvis sker i form av https://{uri}/{tenantid} Sträng i URI-format med klientorganisation – https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities En matris med URI:er som är kända för att vara giltiga. Används i B2C-scenarier. Matris med strängar i URI-format Tom matris []
cloudDiscoveryMetadata En sträng som innehåller molnidentifieringssvaret. Används i Microsoft Entra scenarier. Mer information finns i Prestanda string Tom sträng ""
authorityMetadata En sträng som innehåller .well-known/openid-configuration-slutpunktssvaret. Mer information finns i Prestanda string Tom sträng ""
clientCapabilities Matris med funktioner som ska läggas till i alla nätverksbegäranden som en del av xms_cc anspråksbegäran Matris med strängar []
azureCloudOptions En definierad uppsättning azure-molnalternativ som utvecklare kan använda som standard för sina specifika molnmyndigheter för specifika moln som stöds finns i AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Cachekonfigurationsalternativ

Alternativet Description Format Standardvärdet
cachePlugin Cache-plugin-program med återanrop till läsning och skrivning till cachepersistence (se även: cachelagring) ICachePlugin noll

Konfigurationsalternativ för broker

Alternativet Description Format Standardvärdet
nativeBrokerPlugin Broker plugin för att hämta token via en intern token broker (se även: brokering) INativeBrokerPlugin noll

Systemkonfigurationsalternativ

Alternativet Description Format Standardvärdet
loggerOptions Konfigurationsobjekt för logger. Se nedan. Se nedan.
NetworkClient Anpassad HTTP-implementering INetworkModule HttpClient.ts
protocolMode Räkna upp det protokollläge som ska användas. Om "AAD", kommer att fungera på Microsoft Entra v2-slutpunkter, om "OIDC", kommer att fungera på OIDC-kompatibla slutpunkter. string "AAD"
disableInternalRetries Om sant kommer MSAL inte att försöka utföra misslyckade nätverksbegäranden igen Boolean false

Note

I MSAL Node v5 togs parametrarna proxyUrl och customAgentOptions bort. Om ditt program kräver proxystöd implementerar du en anpassad HTTP-klient med hjälp av INetworkModule. Ett exempel finns i det anpassade INetworkModule-exemplet . Parametern protocolMode har också flyttats från autentiseringskonfiguration till systemkonfiguration.

Konfigurationsalternativ för loggning

Alternativet Description Format Standardvärdet
loggerCallback Återanropsfunktion som hanterar loggning av MSAL-instruktioner. Funktion – loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Se ovan.
piiLoggingEnabled Om det är sant inkluderas personligt identifierbar information (PII) i loggarna. Boolean false

Konfigurationsalternativ för telemetri

Alternativet Description Format Standardvärdet
application Telemetrialternativ för program som använder MSAL.js Se nedan Se nedan

Programtelemetri

Alternativet Description Format Standardvärdet
appName Unikt strängnamn för ett program string Tom sträng ""
appVersion Version av programmet med MSAL string Tom sträng ""

Nästa steg

Fortsätt att förstå de offentliga API:er som tillhandahålls av msal-node för att hämta token här