Konfigurieren des MSAL-Knotens

Die MSAL-Bibliothek verfügt über eine Reihe von Konfigurationsoptionen, die verwendet werden können, um das Verhalten Ihrer Authentifizierungsflüsse anzupassen. Diese Optionen können entweder im Konstruktor des PublicClientApplication-Objekts oder als Teil der Anforderungs-APIs festgelegt werden. Hier wird das Konfigurationsobjekt beschrieben, das an den PublicClientApplication-Konstruktor übergeben werden kann.

Voraussetzungen

Usage

Das Konfigurationsobjekt kann an den PublicClientApplication Konstruktor übergeben werden. Der einzige erforderliche Konfigurationsparameter ist die client_id Anwendung. Alles andere ist optional, kann aber je nach Authentifizierungsfluss, Mandant und Anwendungsmodell erforderlich sein.

Das Configuration-Objekt mit allen unterstützten Parametern wird unten angezeigt:


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

Auth-Konfigurationsoptionen

Auswahl Description Format Standardwert
clientId App-ID Ihrer Anwendung. Finden Sie in Ihrer App-Registrierung in der Microsoft Entra Admin Center App-Registrierung. UUID/GUID Keine. Dieser Parameter ist erforderlich, damit MSAL aktionen ausführen kann.
authority URI des Mandanten, mit dem authentifiziert und autorisiert werden soll. In der Regel wird die Form von https://{uri}/{tenantid} Zeichenfolge im URI-Format mit Mandant - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Ein Array von URIs, die als gültig bekannt sind. Wird in B2C-Szenarien verwendet. Array von Zeichenfolgen im URI-Format Leeres Array []
cloudDiscoveryMetadata Eine Zeichenfolge, die die Cloud Discovery-Antwort enthält. Wird in Microsoft Entra Szenarien verwendet. Weitere Informationen finden Sie unter Performance string Leere Zeichenfolge ""
authorityMetadata Eine Zeichenfolge, die die Endpunktantwort ".well-known/openid-configuration" enthält. Weitere Informationen finden Sie unter Performance string Leere Zeichenfolge ""
clientCapabilities Array von Funktionen, die allen Netzwerkanforderungen als Teil der xms_cc Anspruchsanforderung hinzugefügt werden sollen Array aus Zeichenfolgen []
azureCloudOptions Ein definierter Satz von Azure Cloud-Optionen für Entwickler, die standardmäßig ihren spezifischen Cloud-Behörden entsprechen, für bestimmte unterstützte Clouds finden Sie in der AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Cachekonfigurationsoptionen

Auswahl Description Format Standardwert
cachePlugin Cache-Plug-In mit Rückrufen zum Lesen und Schreiben in die Cachepersistenz (siehe auch: Zwischenspeichern) ICachePlugin null

Brokerkonfigurationsoptionen

Auswahl Description Format Standardwert
nativeBrokerPlugin Broker-Plug-In zum Abrufen von Token über einen nativen Tokenbroker (siehe auch: Brokering) INativeBrokerPlugin null

Systemkonfigurationsoptionen

Auswahl Description Format Standardwert
loggerOptions Config-Objekt für Logger. Siehe unten. Siehe unten.
NetworkClient Benutzerdefinierte HTTP-Implementierung INetworkModule HttpClient.ts
protocolMode Enumeration, die den zu verwendenden Protokollmodus darstellt. If "AAD", will function on the Microsoft Entra v2 endpoints; if "OIDC", will function on OIDC-compliant endpoints. string "AAD"
disableInternalRetries Wenn "true" ist, wird MSAL keine fehlgeschlagenen Netzwerkanforderungen wiederholen. Boolean false

Note

In MSAL Node v5 wurden die proxyUrl Parameter entfernt customAgentOptions . Wenn Ihre Anwendung Proxyunterstützung erfordert, implementieren Sie einen benutzerdefinierten HTTP-Client mit INetworkModule. Ein Beispiel finden Sie im benutzerdefinierten INetworkModule-Beispiel . Der protocolMode Parameter wurde auch von der Authentifizierungskonfiguration in die Systemkonfiguration verschoben.

Logger-Konfigurationsoptionen

Auswahl Description Format Standardwert
loggerCallback Rückruffunktion, die die Protokollierung von MSAL-Anweisungen behandelt. Funktion- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Siehe oben.
piiLoggingEnabled Ist "true", werden personenbezogene Informationen (PII) in Protokolle eingeschlossen. Boolean false

Telemetriekonfigurationsoptionen

Auswahl Description Format Standardwert
application Telemetrieoptionen für Anwendungen mit MSAL.js Siehe unten Siehe unten

Anwendungstelemetrie

Auswahl Description Format Standardwert
appName Eindeutiger Zeichenfolgenname einer Anwendung string Leere Zeichenfolge ""
appVersion Version der Anwendung mit MSAL string Leere Zeichenfolge ""

Nächste Schritte

Lernen Sie die öffentlichen APIs kennen, die hier zum Abrufen von msal-node Token bereitgestellt werden.