Compartir a través de


Complemento de identidad de Azure para la autenticación de Visual Studio Code

Este paquete proporciona un complemento a la biblioteca de identidades de Azure para JavaScript (@azure/identity) que habilita la autenticación a través de la extensión "Cuenta de Azure" para Visual Studio Code. Este complemento proporciona las dependencias de VisualStudioCodeCredential in @azure/identity y la habilita para su uso por su cuenta o como parte de DefaultAzureCredential.

Código | fuente Muestras

Introducción

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

useIdentityPlugin(vsCodePlugin);

Requisitos previos

Instalar el paquete

Este paquete está diseñado para usarse con Azure Identity para JavaScript. Instale y @azure/identity este paquete mediante npm:

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

Entornos compatibles

Los complementos de Identidad de Azure para JavaScript admiten versiones estables (incluso numeradas) de Node.js a partir de la versión 12. Aunque los complementos se pueden ejecutar en otras versiones de Node, no se garantiza ninguna compatibilidad. @azure/identity-vscode no admite entornos de explorador.

Conceptos clave

Si es la primera vez que usa @azure/identity o la plataforma de identidad de Microsoft (Azure Active Directory), le recomendamos que primero lea Uso de @azure/identity con la plataforma de identidad de Microsoft. Este documento le proporcionará una comprensión más profunda de la plataforma y cómo configurar correctamente la cuenta de Azure.

Complementos de identidad de Azure

A partir de la @azure/identity versión 2.0.0, la biblioteca cliente de identidad para JavaScript incluye una API de complemento. Este paquete (@azure/identity-vscode) exporta un objeto de complemento que debe pasar como argumento a la función de nivel useIdentityPlugin superior del @azure/identity paquete. Habilite la autenticación a través de la extensión "Cuenta de Azure" para Visual Studio Code de la siguiente manera:

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

useIdentityPlugin(vsCodePlugin);

Después de llamar a useIdentityPlugin, se habilitará desde VisualStudioCodeCredential el @azure/identity paquete. Si no se usa este complemento, VisualStudioCodeCredential iniciará un CredentialUnavailableErrory no estará disponible como parte de DefaultAzureCredential.

Autenticación de Visual Studio Code

VisualStudioCodeCredential usa la sesión de autenticación de la extensión "Cuenta de Azure". Para usar esta credencial, debe iniciar sesión en su cuenta de Azure con la extensión . Para ello, abra Visual Studio Code, asegúrese de que la extensión está instalada e inicie sesión en la paleta de comandos con la opción "Azure: Iniciar sesión" para abrir una ventana del explorador e iniciar sesión en Azure. Como alternativa, puede seleccionar "Azure: Iniciar sesión con código de dispositivo" para usar el flujo de código del dispositivo.

Después de iniciar sesión, es posible que tenga que seleccionar una suscripción (por ejemplo, si tiene varias suscripciones de Azure) y puede cambiar la suscripción activa mediante el menú para seleccionar la entrada "Azure: Seleccionar suscripciones".

Ejemplos

Una vez registrado el complemento, puede usar VisualStudioCodeCredential de forma similar a las demás clases de credenciales de @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);
});

También puede usar DefaultAzureCredential, que intentará autenticarse mediante la extensión "Cuenta de Azure" para Visual Studio Code si está disponible:

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

Solución de problemas

Registro

La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Pasos siguientes

Envío de comentarios

Si encuentra errores o tiene sugerencias, cree una incidencia.

Contribuciones

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones