Подключаемый модуль удостоверений Azure для сохраняемости кэша маркеров
Этот пакет предоставляет подключаемый модуль для библиотеки удостоверений Azure для JavaScript (@azure/identity
), который обеспечивает постоянное кэширование маркеров. Сохраняемость кэша маркеров позволяет сохранять встроенный кэш маркеров между сеансами с помощью безопасной системы хранения, предоставляемой локальной операционной системой.
Начало работы
import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
Предварительные требования
Установка пакета
Этот пакет предназначен для использования с Удостоверением Azure для JavaScript. Установите и @azure/identity
этот пакет с помощью npm
:
$ npm install --save @azure/identity
$ npm install --save @azure/identity-cache-persistence
Поддерживаемые среды
Подключаемые модули удостоверений Azure для JavaScript поддерживают стабильные (четные) версии Node.js начиная с версии 12. Хотя подключаемые модули могут работать в других версиях Node, поддержка не гарантируется.
@azure/identity-cache-persistence
не поддерживает среды браузера.
Основные понятия
Если @azure/identity
или платформа удостоверений Майкрософт (Azure Active Directory) используется впервые, рекомендуется сначала прочитать статью "Использование @azure/identity
с платформой удостоверений Майкрософт". В настоящем документе содержится более глубокое представление о платформе и правильной настройке учетной записи Azure.
Подключаемые модули удостоверений Azure
Начиная с @azure/identity
версии 2.0.0 клиентская библиотека Identity для JavaScript включает API подключаемого модуля. Этот пакет (@azure/identity-cache-persistence
) экспортирует объект подключаемого модуля, который необходимо передать в качестве аргумента функции верхнего уровня useIdentityPlugin
из @azure/identity
пакета. Включите сохраняемость кэша маркеров в программе следующим образом:
import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
После вызова useIdentityPlugin
подключаемый модуль кэша постоянных маркеров регистрируется в @azure/identity
пакете и будет доступен для всех учетных данных, поддерживающих постоянное кэширование маркеров (которые имеются tokenCachePersistenceOptions
в параметрах конструктора).
Примеры
После регистрации подключаемого модуля можно включить сохраняемость кэша маркеров, передав tokenCachePersistenceOptions
в конструктор учетных данных свойство со enabled
значением true
. В следующем примере мы используем DeviceCodeCredential
, так как постоянное кэширование его токенов позволяет пропустить интерактивный поток проверки подлинности с кодом устройства, если кэшированный маркер доступен.
import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
async function main() {
const credential = new DeviceCodeCredential({
tokenCachePersistenceOptions: {
enabled: true
}
});
// We'll use the Microsoft Graph scope as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substr(0, 10), "...");
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Устранение неполадок
Ведение журнала
Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL
значение info
. Кроме того, ведение журнала можно включить во время выполнения, вызвав setLogLevel
в @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Дальнейшие действия
Отзывы
Если у вас возникли ошибки или есть предложения, откройте проблему.
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Azure SDK for JavaScript