Konfigurace uzlu MSAL

Knihovna MSAL obsahuje sadu možností konfigurace, které lze použít k přizpůsobení chování toků ověřování. Tyto možnosti lze nastavit buď v konstruktoru objektu PublicClientApplication , nebo jako součást rozhraní API požadavku. Zde popisujeme objekt konfigurace, který lze předat do konstruktoru PublicClientApplication .

Předpoklady

Využití

Objekt konfigurace lze předat do konstruktoru PublicClientApplication . Jediným povinným parametrem client_id konfigurace je aplikace. Všechno ostatní je volitelné, ale může se vyžadovat v závislosti na toku ověřování, tenantovi a modelu aplikace.

Objekt Konfigurace se všemi podporovanými parametry je uvedený níže:


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

Možnosti

Možnosti konfigurace ověřování

Option Description Formát Výchozí hodnota
clientId ID aplikace V registraci aplikace najdete Centrum pro správu Microsoft Entra registraci aplikace. UUID/GUID Žádná Tento parametr je povinný, aby služba MSAL mohla provádět jakékoli akce.
authority Identifikátor URI tenanta pro ověření a autorizaci. Obvykle má formu https://{uri}/{tenantid} Řetězec ve formátu URI s tenantem – https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Pole identifikátorů URI, o kterých je známo, že jsou platné. Používá se ve scénářích B2C. Pole řetězců ve formátu identifikátoru URI Prázdné pole []
cloudDiscoveryMetadata Řetězec obsahující odpověď cloud discovery. Používá se v Microsoft Entra scénářích. Další informace najdete v tématu Výkon . řetězec Prázdný řetězec ""
authorityMetadata Řetězec obsahující odpověď koncového bodu .well-known/openid-configuration. Další informace najdete v tématu Výkon . řetězec Prázdný řetězec ""
clientCapabilities Pole možností, které se mají přidat do všech síťových požadavků jako součást xms_cc žádosti o deklarace identity Pole řetězců []
azureCloudOptions Definovaná sada možností cloudu Azure pro vývojáře, kteří mají výchozí nastavení pro konkrétní cloudové autority, pro konkrétní podporované cloudy se prosím podívejte na azureCloudInstance. AzureCloudOptions AzureCloudInstance.None

Možnosti konfigurace mezipaměti

Option Description Formát Výchozí hodnota
cachePlugin Modul plug-in mezipaměti s voláním zpět ke čtení a zápisu do trvalosti mezipaměti (viz také: ukládání do mezipaměti) ICachePlugin null

Možnosti konfigurace zprostředkovatele

Option Description Formát Výchozí hodnota
nativeBrokerPlugin Modul plug-in zprostředkovatele zprostředkovatelů pro získání tokenů prostřednictvím nativního zprostředkovatele tokenů (viz také: zprostředkování) INativeBrokerPlugin null

Možnosti konfigurace systému

Option Description Formát Výchozí hodnota
loggerOptions Objekt konfigurace pro protokolovací nástroj. Viz níže. Viz níže.
NetworkClient Vlastní implementace HTTP INetworkModule HttpClient.ts
protocolMode Výčet představující režim protokolu, který se má použít. Pokud "AAD", bude fungovat na koncových bodech Microsoft Entra v2; pokud "OIDC"bude fungovat na koncových bodech kompatibilních s OIDC. řetězec "AAD"
disableInternalRetries Pokud je pravda, MSAL nebude opakovat neúspěšné síťové požadavky. Boolean false

Note

V uzlu MSAL v5 proxyUrl byly odebrány parametry.customAgentOptions Pokud vaše aplikace vyžaduje podporu proxy serveru, implementujte vlastního klienta HTTP pomocí INetworkModule. Příklad najdete v ukázce vlastního objektu INetworkModule . Parametr protocolMode byl také přesunut z konfigurace ověřování na konfiguraci systému.

Možnosti konfigurace protokolovacího nástroje

Option Description Formát Výchozí hodnota
loggerCallback Funkce zpětného volání, která zpracovává protokolování příkazů MSAL. Funkce- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Viz výše.
piiLoggingEnabled Pokud je to pravda, v protokolech se zahrnou identifikovatelné osobní údaje .PII. Boolean false

Možnosti konfigurace telemetrie

Option Description Formát Výchozí hodnota
application Možnosti telemetrie pro aplikace používající MSAL.js Viz níže Viz níže

Telemetrie aplikací

Option Description Formát Výchozí hodnota
appName Jedinečný název řetězce aplikace řetězec Prázdný řetězec ""
appVersion Verze aplikace používající knihovnu MSAL řetězec Prázdný řetězec ""

Další kroky

Pokračujte a seznamte se s veřejnými rozhraními API poskytovanými msal-node pro získání tokenů .