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


Подключаемый модуль удостоверений Azure для проверки подлинности Visual Studio Code

Этот пакет предоставляет подключаемый модуль к библиотеке удостоверений Azure для JavaScript (@azure/identity), который обеспечивает проверку подлинности с помощью расширения "Учетная запись Azure" для Visual Studio Code. Этот подключаемый модуль предоставляет зависимости VisualStudioCodeCredential в @azure/identity и позволяет использовать его самостоятельно или в составе DefaultAzureCredential.

Исходный код | Образцы

Начало работы

import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";

useIdentityPlugin(vsCodePlugin);

Предварительные требования

Установка пакета

Этот пакет предназначен для использования с Удостоверением Azure для JavaScript. Установите и @azure/identity этот пакет с помощью npm:

$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode

Поддерживаемые среды

Подключаемые модули удостоверений Azure для JavaScript поддерживают стабильные (четные) версии Node.js начиная с версии 12. Хотя подключаемые модули могут работать в других версиях Node, поддержка не гарантируется. @azure/identity-vscode не поддерживает среды браузера.

Основные понятия

Если @azure/identity или платформа удостоверений Майкрософт (Azure Active Directory) используется впервые, рекомендуется сначала прочитать статью "Использование @azure/identity с платформой удостоверений Майкрософт". В настоящем документе содержится более глубокое представление о платформе и правильной настройке учетной записи Azure.

Подключаемые модули удостоверений Azure

Начиная с @azure/identity версии 2.0.0 клиентская библиотека Identity для JavaScript включает API подключаемого модуля. Этот пакет (@azure/identity-vscode) экспортирует объект подключаемого модуля, который необходимо передать в качестве аргумента функции верхнего уровня useIdentityPlugin из @azure/identity пакета. Включите проверку подлинности с помощью расширения "Учетная запись Azure" для Visual Studio Code следующим образом:

import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";

useIdentityPlugin(vsCodePlugin);

После вызова useIdentityPluginиз VisualStudioCodeCredential@azure/identity пакета будет включен . Если этот подключаемый CredentialUnavailableErrorмодуль не используется, то VisualStudioCodeCredential вызовет , и он будет недоступен в составе DefaultAzureCredential.

Проверка подлинности Visual Studio Code

VisualStudioCodeCredentialиспользует сеанс проверки подлинности из расширения "Учетная запись Azure". Чтобы использовать эти учетные данные, необходимо войти в учетную запись Azure с помощью расширения . Для этого откройте Visual Studio Code, убедитесь, что расширение установлено, и выполните вход из палитры команд с помощью параметра "Azure: вход", чтобы открыть окно браузера и войти в Azure. Кроме того, можно выбрать "Azure: вход с помощью кода устройства", чтобы использовать поток кода устройства.

После входа может потребоваться выбрать подписку (например, если у вас несколько подписок Azure) и изменить активную подписку с помощью меню, чтобы выбрать запись "Azure: выбор подписок".

Примеры

После регистрации подключаемого модуля можно использовать VisualStudioCodeCredential аналогично другим классам учетных данных в @azure/identity:

import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";

useIdentityPlugin(vsCodePlugin);

async function main() {
  const credential = new VisualStudioCodeCredential();

  // The graph.microsoft.com scope is used 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);
});

Вы также можете использовать DefaultAzureCredential, который попытается пройти проверку подлинности с помощью расширения "Учетная запись Azure" для Visual Studio Code, если оно доступно:

import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";

useIdentityPlugin(vsCodePlugin);

async function main() {
  // With the plugin enabled above, `DefaultAzureCredential` will use
  // Visual Studio Code's "Azure Account" extension to authenticate if
  // it is available.
  const credential = new DefaultAzureCredential();

  // This will print a JWT access_token and its expiration timestamp
  // The graph.microsoft.com scope is used as an example
  console.log("Token:", await credential.getToken("https://graph.microsoft.com/.default"));
}

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

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

Отзывы

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

Участие

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

Просмотры