Подключаемый модуль удостоверений 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");
Дальнейшие действия
Отзывы
Если у вас возникли ошибки или есть предложения, откройте проблему.
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Azure SDK for JavaScript