Konfigurationsoptionen für die Authentifizierung

Bevor Sie hier beginnen, sollten Sie wissen, wie Sie ein App-Objekt initialisieren.

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.

Verwenden des Config-Objekts

Das Konfigurationsobjekt weist die folgende Struktur auf und kann an den PublicClientApplication Konstruktor übergeben werden. Der einzige erforderliche Konfigurationsparameter ist die Client-ID der Anwendung. Alles andere ist optional, kann aber je nach Mandanten- und Anwendungsmodell erforderlich sein.

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",
    },
    system: {
        loggerOptions: {
            loggerCallback: (
                level: LogLevel,
                message: string,
                containsPii: boolean
            ): void => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        console.error(message);
                        return;
                    case LogLevel.Info:
                        console.info(message);
                        return;
                    case LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false,
        },
        windowHashTimeout: 60000,
        iframeHashTimeout: 6000,
        loadFrameTimeout: 0,
        protocolMode: "AAD"
    },
    telemetry: {
        application: {
            appName: "My Application",
            appVersion: "1.0.0",
        },
    },
};

const msalInstance = new PublicClientApplication(msalConfig);

Konfigurationsoptionen

Auth-Konfigurationsoptionen

Auswahl Description Format Standardwert
clientId App-ID Ihrer Anwendung. Finden Sie im App-Registrierungsbereich Azure-Portal 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. string Leere Zeichenfolge ""
authorityMetadata Eine Zeichenfolge, die die Endpunktantwort ".well-known/openid-configuration" enthält. string Leere Zeichenfolge ""
redirectUri URI, an den die Autorisierungscodeantwort zurückgesendet wird. Der hier angegebene Speicherort muss über die MSAL-Bibliothek verfügen, um die Antwort zu verarbeiten. Zeichenfolge im absoluten oder relativen URI-Format Anmeldeanforderungsseite (window.location.href von Seite, die eine Authentifizierungsanforderung gestellt hat)
postLogoutRedirectUri URI, an den nach einem Logout()-Aufruf umgeleitet wird. Zeichenfolge im absoluten oder relativen URI-Format. Übergeben Sie den Pass null , um die Umleitung nach der Abmeldung zu deaktivieren. Anmeldeanforderungsseite (window.location.href von Seite, die eine Authentifizierungsanforderung gestellt hat)
navigateToLoginRequestUrl Wenn true, navigiert zurück zum ursprünglichen Anforderungsspeicherort, bevor die Autorisierungscodeantwort verarbeitet wird. Wenn dies redirectUri mit dem ursprünglichen Anforderungsspeicherort identisch ist, sollte dieses Flag auf "false" festgelegt werden. Boolean true
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. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Ein Flag zum Auswählen, ob der lokale Metadatencache während der Autorisierungsinitialisierung verwendet werden soll. Der Metadatencache wird verwendet, wenn keine Autoritätsmetadaten bereitgestellt werden und bevor ein Netzwerkaufruf für Metadaten vorgenommen wurde. Boolean false
onRedirectNavigate Ein Rückruf, der an die URL ÜBERGEBEN wird, navigiert msAL in Umleitungsflüssen. Durch zurückgeben false im Rückruf wird die Navigation beendet. Funktion - (url: string) => boolean \| void undefined
instanceAware Ein Flag, das angibt, ob der STS zusätzliche Parameter zurücksenden soll, um anzugeben, wo Token abgerufen werden sollen. Boolean false
isMcp Wenn trueein resource Parameter für alle Tokenanforderungen erforderlich ist. Wird für MCP-Flüsse (Model Context Protocol) verwendet. Boolean false

Cachekonfigurationsoptionen

Auswahl Description Format Standardwert
cacheLocation Speicherort des Tokencaches im Browser. Zeichenfolgenwert, der eine der folgenden Werte sein muss: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
temporaryCacheLocation (Veraltet) Speicherort des temporären Caches im Browser. Diese Option sollte nur für bestimmte Edgefälle geändert werden. Weitere Informationen finden Sie unter Zwischenspeichern. Zeichenfolgenwert, der eine der folgenden Werte sein muss: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
storeAuthStateInCookie (Veraltet) Bei "true" werden Cacheelemente sowohl in Cookies als auch im Browsercache gespeichert. Wurde zuvor für Internet Explorer Kompatibilität verwendet. Boolean false
secureCookies (Veraltet) Wenn "true" und storeAuthStateInCookie ebenfalls aktiviert ist, fügt MSAL das Secure Flag dem Browsercookies hinzu, sodass es nur über HTTPS gesendet werden kann. Boolean false
cacheMigrationEnabled Wenn true, werden Cacheeinträge aus älteren Versionen von MSAL aktualisiert, um dem neuesten Cacheschema beim Start zu entsprechen. Wenn Ihre Anwendung nicht kürzlich auf eine neue Version von MSAL.jsaktualisiert wurde, können Sie dies sicher deaktivieren. Wenn alte Cacheeinträge nicht migriert werden, kann dies zu einem Cachefehler führen, wenn Sie versuchen, Konten oder Token abzurufen, und betroffene Benutzer müssen möglicherweise erneut authentifizieren, um auf dem neuesten Stand zu sein. Boolean true bei Verwendung localStorage, false andernfalls
claimsBasedCachingEnabled Wenn trueZugriffstoken unter einem Schlüssel zwischengespeichert werden, der den Hash der angeforderten Anspruchszeichenfolge enthält, was zu einem Cachefehler und einer neuen Netzwerktokenanforderung führt, wenn dieselbe Tokenanforderung mit unterschiedlichen oder fehlenden Ansprüchen erfolgt. Wenn dieser Wert festgelegt falseist, werden Token ohne Ansprüche zwischengespeichert, aber alle Anforderungen, die Ansprüche enthalten, zum Netzwerk wechseln und alle zuvor zwischengespeicherten Token mit denselben Bereichen überschreiben. Boolean false

Note

Die temporaryCacheLocation Option ist in den letzten Versionen von MSAL Browser veraltet und kann in einer zukünftigen Hauptversion entfernt werden. Sie sollten sich nicht auf diese Option für neue Implementierungen verlassen.

Note

Die storeAuthStateInCookie Optionen sind secureCookies in den letzten Versionen von MSAL Browser veraltet. Diese Optionen wurden hauptsächlich für Internet Explorer Kompatibilität verwendet, was nicht mehr unterstützt wird. Sie können in einer zukünftigen Hauptversion entfernt werden.

Weitere Informationen finden Sie unter Zwischenspeichern in MSAL .

Systemkonfigurationsoptionen

Auswahl Description Format Standardwert
loggerOptions Config-Objekt für Logger. Siehe unten. Siehe unten.
windowHashTimeout Timeout in Millisekunden, bis Popupvorgänge aufgelöst werden. ganze Zahl (Millisekunden) 60000
iframeHashTimeout Timeout in Millisekunden, bis iframe-Vorgänge aufgelöst werden. ganze Zahl (Millisekunden) 6000
loadFrameTimeout Timeout in Millisekunden, um auf die Auflösung von iframe-/Popupvorgängen zu warten. Wenn angegeben, werden Standardwerte für windowHashTimeout und iframeHashTimeout. ganze Zahl (Millisekunden) undefined
navigateFrameWait Verzögerung in Millisekunden, bis der iFrame im Fenster geladen wird. ganze Zahl (Millisekunden) In IE oder Edge: 500in allen anderen Browsern: 0
asyncPopups (Veraltet – stattdessen verwenden navigatePopups .) Legt fest, ob Popups asynchron geöffnet werden. Bei Festlegung auf false" werden leere Popups geöffnet, bevor etwas anderes geschieht. Wenn diese Einstellung truefestgelegt ist, werden Popups beim Erstellen der Netzwerkanforderung geöffnet. Boolean false
navigatePopups Legt fest, ob Popups geöffnet und zu einem späteren Zeitpunkt navigiert werden. Bei Festlegung auf truewerden leere Popups geöffnet und dann zur Anmeldedomäne navigiert. Bei Festlegung auf falsewerden Popups direkt in der Anmeldedomäne geöffnet. Dies kann für Szenarien festgelegt false werden, die about:blank nicht unterstützt werden, z. B. Desktop-Apps oder progressive Web-Apps. Boolean true
allowRedirectInIframe Standardmäßig lässt MSAL keine Umleitungsvorgänge zu, die initiiert werden, wenn sich die Anwendung in einem iFrame befindet. Legen Sie dieses Kennzeichen fest, um diese Überprüfung zu true entfernen. Boolean false
cryptoOptions Config-Objekt für Kryptovorgänge im Browser. Siehe Crypto Config-Optionen Siehe Crypto Config-Optionen
pollIntervalMilliseconds Zeitintervall in Millisekunden zwischen Abfragen des Popup-URL-Hashs während der Authentifizierung. ganze Zahl (Millisekunden) 30
protocolMode Enumeration, die den zu verwendenden Protokollmodus darstellt. Wenn "AAD", MSAL-Funktionen auf den OIDC-kompatiblen AAD v2-Endpunkten; wenn "OIDC", funktioniert sie auf anderen OIDC-kompatiblen Endpunkten. string "AAD"

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

Crypto Config Options

Auswahl Description Format Standardwert
useMsrCrypto Gibt an, ob MSR Crypto verwendet werden soll, wenn er im Browser verfügbar ist (und andere Kryptoschnittstellen nicht verfügbar sind). Boolean false
entropy Kryptografisch starke Zufallswerte, die zum Seeden von MSR Crypto (z. B. crypto.randomBytes(48) von Node) verwendet werden. Es wird empfohlen, 48 Bits Entropie zu verwenden. Erforderlich, wenn useMsrCrypto diese Option aktiviert ist. Uint8Array undefined

Telemetriekonfigurationsoptionen

Auswahl Description Format Standardwert
application Telemetrieoptionen für Anwendungen mit MSAL.js Siehe unten Siehe unten
client Clientinstanz der Telemetrieleistung IPerformanceClient StubPerformanceClient

Anwendungstelemetrie

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