Konfigurowanie węzła biblioteki MSAL

Biblioteka biblioteki MSAL zawiera zestaw opcji konfiguracji, które mogą służyć do dostosowywania zachowania przepływów uwierzytelniania. Te opcje można ustawić w konstruktorze obiektu PublicClientApplication lub w ramach interfejsów API żądań. W tym miejscu opisano obiekt konfiguracji, który można przekazać do konstruktora PublicClientApplication .

Wymagania wstępne

Użycie

Obiekt konfiguracji można przekazać do konstruktora PublicClientApplication . Jedynym wymaganym parametrem konfiguracji jest client_id aplikacja. Wszystko inne jest opcjonalne, ale może być wymagane w zależności od przepływu uwierzytelniania, dzierżawy i modelu aplikacji.

Obiekt Configuration ze wszystkimi obsługiwanymi parametrami jest pokazany poniżej:


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

Opcje

Opcje konfiguracji uwierzytelniania

Option Description Forma Wartość domyślna
clientId Identyfikator aplikacji. Rejestrację aplikacji można znaleźć w centrum administracyjne Microsoft Entra rejestracji aplikacji. Identyfikator UUID/IDENTYFIKATOR GUID Żaden. Ten parametr jest wymagany w celu wykonania jakichkolwiek akcji przez bibliotekę MSAL.
authority Identyfikator URI dzierżawy do uwierzytelniania i autoryzacji. Zazwyczaj przyjmuje formę https://{uri}/{tenantid} Ciąg w formacie identyfikatora URI z dzierżawą — https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Tablica identyfikatorów URI, które są znane jako prawidłowe. Używane w scenariuszach B2C. Tablica ciągów w formacie identyfikatora URI Pusta tablica []
cloudDiscoveryMetadata Ciąg zawierający odpowiedź odnajdywania w chmurze. Używane w scenariuszach Microsoft Entra. Zobacz Wydajność , aby uzyskać więcej informacji ciąg Pusty ciąg ""
authorityMetadata Ciąg zawierający odpowiedź punktu końcowego .well-known/openid-configuration. Zobacz Wydajność , aby uzyskać więcej informacji ciąg Pusty ciąg ""
clientCapabilities Tablica możliwości, które mają być dodawane do wszystkich żądań sieciowych xms_cc w ramach żądania oświadczeń Tablica ciągów znaków []
azureCloudOptions Zdefiniowany zestaw opcji chmury platformy Azure dla deweloperów domyślnie ustawiony na określone władze w chmurze w przypadku określonych obsługiwanych chmur można znaleźć w temacie AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Opcje konfiguracji pamięci podręcznej

Option Description Forma Wartość domyślna
cachePlugin Wtyczka pamięci podręcznej z wywołaniami do odczytu i zapisywania w trwałości pamięci podręcznej (zobacz również: buforowanie) ICachePlugin null

Opcje konfiguracji brokera

Option Description Forma Wartość domyślna
nativeBrokerPlugin Wtyczka brokera do uzyskiwania tokenów za pośrednictwem natywnego brokera tokenów (zobacz również: brokering) INativeBrokerPlugin null

Opcje konfiguracji systemu

Option Description Forma Wartość domyślna
loggerOptions Obiekt konfiguracji dla rejestratora. Zobacz poniżej. Zobacz poniżej.
NetworkClient Niestandardowa implementacja PROTOKOŁU HTTP INetworkModule HttpClient.ts
protocolMode Wyliczenie reprezentujące tryb protokołu do użycia. Jeśli "AAD"element będzie działać w punktach końcowych Microsoft Entra w wersji 2; jeśli "OIDC", będzie działać w punktach końcowych zgodnych ze standardem OIDC. ciąg "AAD"
disableInternalRetries Jeśli wartość true, biblioteka MSAL nie ponowi próbę niepowodzenia żądań sieciowych Boolean false

Note

W środowisku MSAL Node v5 proxyUrl parametry i customAgentOptions zostały usunięte. Jeśli aplikacja wymaga obsługi serwera proxy, zaimplementuj niestandardowego klienta HTTP przy użyciu modułu INetworkModule. Zobacz przykładowy przykład niestandardowego modułu INetworkModule . Parametr protocolMode został również przeniesiony z konfiguracji uwierzytelniania do konfiguracji systemu.

Opcje konfiguracji rejestratora

Option Description Forma Wartość domyślna
loggerCallback Funkcja wywołania zwrotnego, która obsługuje rejestrowanie instrukcji BIBLIOTEKI MSAL. Funkcja — loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Zobacz powyżej.
piiLoggingEnabled Jeśli to prawda, dane osobowe (PII) są uwzględniane w dziennikach. Boolean false

Opcje konfiguracji telemetrii

Option Description Forma Wartość domyślna
application Opcje telemetrii dla aplikacji korzystających z MSAL.js Zobacz poniżej Zobacz poniżej

Telemetria aplikacji

Option Description Forma Wartość domyślna
appName Unikatowa nazwa ciągu aplikacji ciąg Pusty ciąg ""
appVersion Wersja aplikacji przy użyciu biblioteki MSAL ciąg Pusty ciąg ""

Dalsze kroki

Przejdź do zapoznania się z publicznymi interfejsami API udostępnianymi przez msal-node proces uzyskiwania tokenów tutaj