Поделиться через


Подключаемый модуль удостоверений 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");

Дальнейшие действия

Отзывы

Если у вас возникли ошибки или есть предложения, откройте проблему.

Участие

Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.

Просмотры