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

Перед началом работы убедитесь, что вы узнаете, как инициализировать объект приложения.

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

Использование объекта конфигурации

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

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

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

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

Опция Description Format Значение по умолчанию
clientId Идентификатор приложения. Можно найти в области регистрации приложений портал Azure 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. струна Пустая строка ""
redirectUri Универсальный код ресурса (URI), на который отправляется ответ кода авторизации. Любое расположение здесь должно иметь библиотеку MSAL, доступную для обработки ответа. Строка в абсолютном или относительном формате URI Страница запроса входа (window.location.href страница, в которой выполнен запрос проверки подлинности)
postLogoutRedirectUri URI, который перенаправляется после вызова logout(). Строка в абсолютном или относительном формате URI. Передайте null , чтобы отключить перенаправление после выхода. Страница запроса входа (window.location.href страница, в которой выполнен запрос проверки подлинности)
navigateToLoginRequestUrl Если true, вернется к исходному расположению запроса перед обработкой ответа кода авторизации. Если исходное redirectUri расположение запроса совпадает с расположением исходного запроса, этот флаг должен иметь значение false. boolean true
clientCapabilities Массив возможностей, добавляемых ко всем сетевым запросам в рамках запроса утверждений xms_cc Массив строк []
azureCloudOptions Определенный набор параметров облака Azure для разработчиков по умолчанию для конкретных облачных центров. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Флаг, определяющий, следует ли использовать локальный кэш метаданных во время инициализации центра. Кэш метаданных используется, если метаданные центра не предоставляются, а перед выполнением сетевого вызова метаданных. boolean false
onRedirectNavigate Обратный вызов, переданный URL-адресОМ MSAL, перейдет к потокам перенаправления. false Возврат в обратном вызове останавливает навигацию. Функции- (url: string) => boolean \| void undefined
instanceAware Флаг, указывающий, следует ли stS отправлять дополнительные параметры, чтобы указать, откуда должны извлекаться маркеры. boolean false
isMcp resource Если trueпараметр требуется для всех запросов маркеров. Используется для потоков протокола контекста модели (MCP). boolean false

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

Опция Description Format Значение по умолчанию
cacheLocation Расположение кэша маркеров в браузере. Строковое значение, которое должно быть одним из следующих значений: "sessionStorage", "localStorage""memoryStorage" sessionStorage
temporaryCacheLocation (не рекомендуется) Расположение временного кэша в браузере. Этот параметр следует изменить только для конкретных пограничных вариантов. Дополнительные сведения см. в разделе кэширования. Строковое значение, которое должно быть одним из следующих значений: "sessionStorage", "localStorage""memoryStorage" sessionStorage
storeAuthStateInCookie (не рекомендуется) Если значение true, хранит элементы кэша в файлах cookie, а также кэш браузера. Ранее использовался для совместимости Internet Explorer. boolean false
secureCookies (не рекомендуется) Если значение true и storeAuthStateInCookie также включено, MSAL добавляет Secure флаг в файл cookie браузера, чтобы его можно было отправлять только по протоколу HTTPS. boolean false
cacheMigrationEnabled Если задано значение true, записи кэша из более старых версий MSAL обновляются, чтобы соответствовать последней схеме кэша при запуске. Если приложение недавно не было обновлено до новой версии MSAL.js, это можно безопасно отключить. Если старые записи кэша не переносятся, это может привести к пропуску кэша при попытке получить учетные записи или маркеры, а затронутые пользователи могут повторно пройти проверку подлинности для получения актуальной версии. boolean true при использовании localStorage, false в противном случае
claimsBasedCachingEnabled Если trueмаркеры доступа кэшируются под ключом, содержащим хэш запрошенной строки утверждений, что приводит к пропуску кэша и новому запросу сетевого маркера при выполнении одного и того же запроса маркера с различными или отсутствующими утверждениями. Если задано значение false, маркеры кэшируются без утверждений, но все запросы, содержащие утверждения, отправляются в сеть и перезаписывают любой ранее кэшированный маркер с теми же областями. boolean false

Note

Этот temporaryCacheLocation параметр не рекомендуется использовать в последних версиях MSAL Browser и может быть удален в будущем основном выпуске. Этот параметр не следует полагаться на новые реализации.

Note

Параметры storeAuthStateInCookie и secureCookies параметры устарели в последних версиях MSAL Browser. Эти параметры в основном использовались для Internet Explorer совместимости, которая больше не поддерживается. Они могут быть удалены в будущем крупном выпуске.

Дополнительные сведения см. в разделе "Кэширование" в MSAL .

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

Опция Description Format Значение по умолчанию
loggerOptions Объект конфигурации для средства ведения журнала. См. ниже. См. ниже.
windowHashTimeout Время ожидания в миллисекундах, чтобы ожидать разрешения операций всплывающего окна. целое число (миллисекунда) 60000
iframeHashTimeout Время ожидания в миллисекундах, чтобы ожидать разрешения операций iframe. целое число (миллисекунда) 6000
loadFrameTimeout Время ожидания в миллисекундах, чтобы ожидать разрешения операций iframe/popup. Если задано, задайте значения по умолчанию для windowHashTimeout и iframeHashTimeout. целое число (миллисекунда) undefined
navigateFrameWait Задержка в миллисекундах, чтобы ждать загрузки iframe в окне. целое число (миллисекунда) В IE или Edge: во всех других браузерах: 5000
asyncPopups (Не рекомендуется — используйте navigatePopups вместо этого.) Задает, открываются ли всплывающие окна асинхронно. Если задано значение false, пустые всплывающие окна открываются перед любым другим событием. Если задано значение true, всплывающие окна открываются при выполнении сетевого запроса. boolean false
navigatePopups Задает, открываются ли всплывающие окна и переходят в дальнейшем. Если задано значение true, открыты пустые всплывающие окна, а затем перейдите к домену входа. Если задано значение false, всплывающие окна открываются непосредственно в домене входа. Это можно задать false для сценариев, в которых about:blank не поддерживается, например классические приложения или прогрессивные веб-приложения. boolean true
allowRedirectInIframe По умолчанию MSAL не позволяет инициировать операции перенаправления, когда приложение находится внутри iframe. Установите этот флаг, чтобы true удалить эту проверку. boolean false
cryptoOptions Объект конфигурации для операций шифрования в браузере. См . параметры конфигурации шифрования См . параметры конфигурации шифрования
pollIntervalMilliseconds Интервал времени в миллисекундах между опросами хэша URL-адреса всплывающего окна во время проверки подлинности. целое число (миллисекунда) 30
protocolMode Перечисление, представляющее используемый режим протокола. Если "AAD", MSAL функции на конечных точках AAD, совместимых с OIDC версии 2; если "OIDC"она работает на других конечных точках, совместимых с OIDC. струна "AAD"

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

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

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

Опция Description Format Значение по умолчанию
useMsrCrypto Следует ли использовать MSR Crypto , если он доступен в браузере (и другие интерфейсы шифрования недоступны). boolean false
entropy Криптографически сильные случайные значения, используемые для заполнения MSR Crypto (например crypto.randomBytes(48) , из Узла). Рекомендуется использовать 48 бит энтропии. Обязательный параметр, если useMsrCrypto включен. Uint8Array undefined

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

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

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

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