Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширения проверки подлинности Майкрософт для Node позволяют разработчикам выполнять сериализацию и сохраняемость на диске межплатформенного кэша маркеров. Она обеспечивает дополнительную поддержку библиотеки аутентификации Майкрософт (MSAL) для Node.js.
MSAL for Node поддерживает кэш в памяти по умолчанию и предоставляет интерфейс ICachePlugin для сериализации кэша, но не предоставляет стандартный способ хранения кэша маркеров на диск. Расширения аутентификации Microsoft для Node.js — это реализация по умолчанию для сохранения кэша на диске на разных платформах.
Расширения проверки подлинности Microsoft для Node.js поддерживают следующие платформы:
- Windows — API защиты данных (DPAPI) используется для защиты.
- Mac — используется цепочка ключей Mac.
- Linux — LibSecret используется для хранения в «Secret Service».
Установка
Пакет msal-node-extensions доступен в диспетчере пакетов узлов (NPM).
npm i @azure/msal-node-extensions --save
Настройка кэша токенов
Ниже приведен пример кода, использующего расширения проверки подлинности Microsoft для Node.js для настройки кэша токенов.
const {
DataProtectionScope,
Environment,
PersistenceCreator,
PersistenceCachePlugin,
} = require("@azure/msal-node-extensions");
// You can use the helper functions provided through the Environment class to construct your cache path
// The helper functions provide consistent implementations across Windows, Mac and Linux.
const cachePath = path.join(Environment.getUserRootDirectory(), "./cache.json");
const persistenceConfiguration = {
cachePath,
dataProtectionScope: DataProtectionScope.CurrentUser,
serviceName: "<SERVICE-NAME>",
accountName: "<ACCOUNT-NAME>",
usePlaintextFileOnLinux: false,
};
// The PersistenceCreator obfuscates a lot of the complexity by doing the following actions for you :-
// 1. Detects the environment the application is running on and initializes the right persistence instance for the environment.
// 2. Performs persistence validation for you.
// 3. Performs any fallbacks if necessary.
PersistenceCreator.createPersistence(persistenceConfiguration).then(
async (persistence) => {
const publicClientConfig = {
auth: {
clientId: "<CLIENT-ID>",
authority: "<AUTHORITY>",
},
// This hooks up the cross-platform cache into MSAL
cache: {
cachePlugin: new PersistenceCachePlugin(persistence),
},
};
const pca = new msal.PublicClientApplication(publicClientConfig);
// Use the public client application as required...
}
);
В следующей таблице приведено объяснение всех аргументов конфигурации сохраняемости.
| Имя поля | Описание | Требуется для |
|---|---|---|
| путь_кэша | Путь к файлу блокировки, который используется библиотекой для синхронизации операций чтения и записи | Windows, Mac и Linux |
| областьЗащитыДанных | Указывает, что область защиты данных в Windows распространяется либо на текущего пользователя, либо на локальный компьютер. | Виндоус |
| название сервиса | Указывает имя службы, используемое в Mac и (или) Linux | Mac и Linux |
| Имя аккаунта | Указывает имя учетной записи для использования в Mac и (или) Linux | Mac и Linux |
| usePlaintextFileOnLinux | Флаг для переключения на обычный текст в Linux по умолчанию, если LibSecret завершается сбоем. По умолчанию — false. |
Линукс |
Дальнейшие шаги
Дополнительные сведения о расширениях проверки подлинности Microsoft для Node.js и MSAL Node см. в следующей статье: