Konfigurationsalternativ för autentisering

Innan du börjar här bör du se till att du förstår hur du initierar ett appobjekt.

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 PublicClientApplication objektet eller som en del av API:erna för begäran. Här beskriver vi konfigurationsobjektet som kan skickas till PublicClientApplication konstruktorn.

Använda konfigurationsobjektet

Konfigurationsobjektet har följande struktur och kan skickas till PublicClientApplication konstruktorn. Den enda obligatoriska konfigurationsparametern är programmets klient-ID. Allt annat är valfritt, men kan krävas beroende på din klientorganisation och programmodell.

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);

Konfigurationsalternativ

Konfigurationsalternativ för autentisering

Alternativet Description Format Standardvärdet
clientId App-ID för ditt program. Finns i fönstret Azure Portal 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. string Tom sträng ""
authorityMetadata En sträng som innehåller .well-known/openid-configuration-slutpunktssvaret. string Tom sträng ""
redirectUri URI där auktoriseringskodsvaret skickas tillbaka till. Den plats som anges här måste ha MSAL-biblioteket tillgängligt för att hantera svaret. Sträng i absolut eller relativ URI-format Sidan för inloggningsbegäran (window.location.href av sidan som gjorde en autentiseringsbegäran)
postLogoutRedirectUri URI som omdirigeras till efter att ett utloggningsanrop () har gjorts. Sträng i absolut eller relativ URI-format. Skicka null för att inaktivera omdirigering efter utloggning. Sidan för inloggningsbegäran (window.location.href av sidan som gjorde en autentiseringsbegäran)
navigateToLoginRequestUrl Om truegår du tillbaka till den ursprungliga begärandeplatsen innan du bearbetar auktoriseringskodsvaret. Om är redirectUri samma som den ursprungliga begärandeplatsen ska den här flaggan vara inställd på false. Boolean true
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. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache En flagga för att välja om den lokala metadatacachen ska användas under initieringen av utfärdaren. Metadatacachen används om inga utfärdarmetadata tillhandahålls och innan ett nätverksanrop för metadata har gjorts. Boolean false
onRedirectNavigate Ett återanrop som har skickat URL:en msal navigerar till i omdirigeringsflöden. När du återvänder false i motringningen stoppas navigeringen. Funktion- (url: string) => boolean \| void undefined
instanceAware En flagga som anger om STS ska skicka tillbaka ytterligare parametrar för att ange var token ska hämtas från. Boolean false
isMcp Om truekrävs en resource parameter för alla tokenbegäranden. Används för MCP-flöden (Model Context Protocol). Boolean false

Cachekonfigurationsalternativ

Alternativet Description Format Standardvärdet
cacheLocation Plats för tokencache i webbläsaren. Strängvärde som måste vara något av följande: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
temporaryCacheLocation (Inaktuell) Plats för tillfällig cache i webbläsaren. Det här alternativet bör bara ändras för specifika gränsfall. Mer information finns i cachelagring. Strängvärde som måste vara något av följande: "sessionStorage", "localStorage", "memoryStorage" sessionStorage
storeAuthStateInCookie (Inaktuell) Om det är sant lagrar du cacheobjekt i cookies samt webbläsarens cacheminne. Användes tidigare för Internet Explorer kompatibilitet. Boolean false
secureCookies (Inaktuell) Om sant och storeAuthStateInCookie också är aktiverat lägger MSAL till Secure flaggan i webbläsarcookien så att den bara kan skickas via HTTPS. Boolean false
cacheMigrationEnabled Om det är sant uppdateras cacheposter från äldre versioner av MSAL så att de överensstämmer med det senaste cacheschemat vid start. Om programmet inte nyligen har uppdaterats till en ny version av MSAL.jskan du inaktivera det på ett säkert sätt. Om gamla cacheposter inte migreras kan det leda till en cachemiss när konton eller token hämtas, och berörda användare kan behöva autentisera igen för att bli uppdaterade. Boolean true när du använder localStorage, false annars
claimsBasedCachingEnabled Om truecachelagras åtkomsttoken under en nyckel som innehåller hash för den begärda anspråkssträngen, vilket resulterar i en cachemiss och en ny begäran om nätverkstoken när samma tokenbegäran görs med olika eller saknade anspråk. Om värdet är inställt på falsecachelagras token utan anspråk, men alla begäranden som innehåller anspråk går till nätverket och skriver över alla tidigare cachelagrade token med samma omfång. Boolean false

Note

Alternativet temporaryCacheLocation har blivit inaktuellt i de senaste versionerna av MSAL Browser och kan tas bort i en framtida större version. Du bör inte förlita dig på det här alternativet för nya implementeringar.

Note

Alternativen storeAuthStateInCookie och secureCookies har blivit inaktuella i de senaste versionerna av MSAL Browser. De här alternativen användes främst för Internet Explorer kompatibilitet, som inte längre stöds. De kan tas bort i en framtida större version.

Mer information finns i Cachelagring i MSAL .

Systemkonfigurationsalternativ

Alternativet Description Format Standardvärdet
loggerOptions Konfigurationsobjekt för logger. Se nedan. Se nedan.
windowHashTimeout Tidsgräns i millisekunder för att vänta på att popup-åtgärder ska lösas. heltal (millisekunder) 60000
iframeHashTimeout Tidsgräns i millisekunder väntar på att iframe-åtgärder ska lösas. heltal (millisekunder) 6000
loadFrameTimeout Tidsgräns i millisekunder för att vänta tills iframe/popup-åtgärder har lösts. Om det anges anger standardvärden för windowHashTimeout och iframeHashTimeout. heltal (millisekunder) undefined
navigateFrameWait Fördröjning i millisekunder för att vänta tills iframe:en läses in i fönstret. heltal (millisekunder) I IE eller Edge: 500, i alla andra webbläsare: 0
asyncPopups (Inaktuell – använd navigatePopups i stället.) Anger om popup-fönster öppnas asynkront. När det är inställt på falseöppnas tomma popup-fönster innan något annat händer. När det är inställt på trueöppnas popup-fönster när du gör nätverksbegäran. Boolean false
navigatePopups Anger om popup-fönster öppnas och navigeras till senare. När det är inställt på trueöppnas tomma popup-fönster och navigerar sedan till inloggningsdomänen. När det är inställt på falseöppnas popup-fönster direkt till inloggningsdomänen. Detta kan anges till false för scenarier där about:blank inte stöds, till exempel skrivbordsappar eller progressiva webbappar. Boolean true
allowRedirectInIframe Som standard tillåter MSAL inte att omdirigeringsåtgärder initieras när programmet finns i en iframe. Ställ in den här flaggan på true för att ta bort den här kontrollen. Boolean false
cryptoOptions Konfigurationsobjekt för kryptoåtgärder i webbläsaren. Se Kryptokonfigurationsalternativ Se Kryptokonfigurationsalternativ
pollIntervalMilliseconds Tidsintervall i millisekunder mellan omröstningar av popup-URL-hash under autentisering. heltal (millisekunder) 30
protocolMode Räkna upp det protokollläge som ska användas. Om "AAD"fungerar MSAL på OIDC-kompatibla AAD v2-slutpunkter. Om "OIDC"fungerar det på andra OIDC-kompatibla slutpunkter. string "AAD"

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

Kryptokonfigurationsalternativ

Alternativet Description Format Standardvärdet
useMsrCrypto Om du vill använda MSR Crypto om det är tillgängligt i webbläsaren (och andra kryptogränssnitt är inte tillgängliga). Boolean false
entropy Kryptografiskt starka slumpmässiga värden som används för att seeda MSR Crypto (t.ex. crypto.randomBytes(48) från Node). 48 bitar entropi rekommenderas. Krävs om useMsrCrypto är aktiverat. Uint8Array undefined

Konfigurationsalternativ för telemetri

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

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