Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы не знакомы с MSAL, вы должны начать здесь.
Если вы поступаете из MSAL версии 1.x, сначала проверьте это руководство , чтобы перейти на MSAL версии 2.x, а затем выполните следующие действия.
Если вы переходите с MSAL v2.x, вы можете следовать этому руководству, чтобы обновить код для использования MSAL v3.x.
Кардинальные изменения
Создание экземпляра приложения
В MSAL версии 2.x вы создали экземпляр приложения, как показано ниже:
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
В MSAL версии 3.x также необходимо инициализировать объект приложения. В вашем распоряжении есть несколько вариантов:
Вариант 1
Создайте экземпляр PublicClientApplication и затем инициализируйте его. Функция initialize является асинхронной и должна завершиться до вызова других API MSAL.js.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();
Вариант 2
createPublicClientApplication Вызов статического метода, который возвращает инициализированный PublicClientApplication объект. Обратите внимание, что эта функция асинхронна.
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);
Кэширование на основе утверждений
В MSAL версии 2.x добавление утверждений в запрос приведет к тому, что хэш запрошенной строки утверждений добавляется в ключ кэша маркеров по умолчанию. Это означает, что MSAL 2.x по умолчанию кэширует и сопоставляет токены на основе утверждений. В MSAL версии 3.x это поведение больше не является значением по умолчанию. Поведение MSAL версии 3.x по умолчанию заключается в том, чтобы перейти в сеть для обновления маркера каждый раз, когда запрашиваются утверждения, независимо от того, кэширован ли маркер ранее и по-прежнему действителен. Затем, после обращения к сети, полученный токен перезаписывает кэшированный токен на случай, если позже будет выполнен тихий запрос без утверждений. Чтобы включить кэширование на основе утверждений в MSAL версии 3.x для поддержания того же поведения, что и в MSAL версии 2.x, разработчики должны использовать cacheOptions.claimsBasedCachingEnabled флаг конфигурации, равный true в объекте конфигурации клиентского приложения:
const msalConfig = {
auth: {
...
},
...
cache: {
claimsBasedCachingEnabled: true
}
}
const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();
Все остальные API являются обратно совместимыми с MSAL версии 2.x. Рекомендуется ознакомиться с примером по умолчанию , чтобы просмотреть рабочий пример MSAL версии 3.0.
Крипто
MSAL версии 3.x прекращает поддержку встроенной криптографии IE11 window.msCrypto и библиотеки Microsoft Research JavaScript Cryptography Library (MSR crypto) window.msrCrypto в пользу встроенного криптографического API браузера window.crypto.
Параметры config.system.cryptoOptions шифрования, используемые для шифрования MSR, больше не поддерживаются.
Ключевые изменения
Поддержка веб-браузеров
MSAL.js больше не поддерживает следующие браузеры:
- IE 11
- Edge (прежняя версия)
Зависимости пакетов
Версия TypeScript была обновлена с 3.8.3 до 4.9.5.
Параметры компилятора
Версии модулей и целевые версии были соответственно повышены с es6/es5 до es2020/es2020.
CDN
MSAL.js больше не размещается в сети CDN. Дополнительные сведения см. в этом документе .