Настройка узла MSAL

Библиотека MSAL имеет набор параметров конфигурации, которые можно использовать для настройки поведения потоков проверки подлинности. Эти параметры можно задать в конструкторе объекта PublicClientApplication или в составе API запроса. Здесь описан объект конфигурации, который можно передать в конструктор PublicClientApplication .

Необходимые условия

Usage

Объект конфигурации можно передать в PublicClientApplication конструктор. Единственным обязательным параметром client_id конфигурации является приложение. Все остальное является необязательным, но может потребоваться в зависимости от потока проверки подлинности, модели клиента и приложения.

Ниже показан объект Configuration со всеми поддерживаемыми параметрами:


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

Параметры конфигурации проверки подлинности

Опция Description Format Значение по умолчанию
clientId Идентификатор приложения. Можно найти в регистрации приложения в Центр администрирования Microsoft Entra регистрации приложения. UUID/GUID Нет. Этот параметр необходим для выполнения любых действий MSAL.
authority URI клиента для проверки подлинности и авторизации с помощью. Обычно принимает форму https://{uri}/{tenantid} Строка в формате URI с клиентом — https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Массив URI, который, как известно, является допустимым. Используется в сценариях B2C. Массив строк в формате URI Пустой массив []
cloudDiscoveryMetadata Строка, содержащая ответ об обнаружении облака. Используется в сценариях Microsoft Entra. Дополнительные сведения см. в разделе " Производительность " струна Пустая строка ""
authorityMetadata Строка, содержащая ответ конечной точки .well-known/openid-configuration. Дополнительные сведения см. в разделе " Производительность " струна Пустая строка ""
clientCapabilities Массив возможностей, добавляемых ко всем сетевым запросам в рамках запроса утверждений xms_cc Массив строк []
azureCloudOptions Определенный набор параметров облака Azure для разработчиков, используемых по умолчанию для конкретных облачных центров, для определенных облаков, поддерживаемых, см. в разделе AzureCloudInstance. AzureCloudOptions AzureCloudInstance.None

Параметры конфигурации кэша

Опция Description Format Значение по умолчанию
cachePlugin Подключаемый модуль кэша с обратными вызовами для чтения и записи в сохраняемость кэша (см. также: кэширование) ICachePlugin null

Параметры конфигурации брокера

Опция Description Format Значение по умолчанию
nativeBrokerPlugin Подключаемый модуль брокера для получения маркеров с помощью собственного брокера маркеров (см. также: брокеринг) INativeBrokerPlugin null

Параметры конфигурации системы

Опция Description Format Значение по умолчанию
loggerOptions Объект конфигурации для средства ведения журнала. См. ниже. См. ниже.
NetworkClient Настраиваемая реализация HTTP INetworkModule HttpClient.ts
protocolMode Перечисление, представляющее используемый режим протокола. Если "AAD", будет работать на конечных точках Microsoft Entra версии 2; если "OIDC"они будут работать в конечных точках, совместимых с OIDC. струна "AAD"
disableInternalRetries Если значение true, MSAL не повторит неудачные сетевые запросы boolean false

Note

В MSAL Node версии 5 proxyUrl были удалены и customAgentOptions параметры. Если приложению требуется поддержка прокси-сервера, реализуйте пользовательский HTTP-клиент с помощью INetworkModule. Пример пользовательского примера INetworkModule . Параметр protocolMode также был перемещен из конфигурации проверки подлинности в системную конфигурацию.

Параметры конфигурации средства ведения журнала

Опция Description Format Значение по умолчанию
loggerCallback Функция обратного вызова, которая обрабатывает ведение журнала инструкций MSAL. Функции- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void См. выше.
piiLoggingEnabled Если задано значение true, личная информация (PII) включается в журналы. boolean false

Параметры конфигурации телеметрии

Опция Description Format Значение по умолчанию
application Параметры телеметрии для приложений с помощью MSAL.js См . ниже См . ниже

Данные телеметрии приложений

Опция Description Format Значение по умолчанию
appName Уникальное строковое имя приложения струна Пустая строка ""
appVersion Версия приложения с помощью MSAL струна Пустая строка ""

Дальнейшие шаги

Перейдите к пониманию общедоступных API, предоставляемых msal-node для получения маркеров здесь