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
.
Introducción
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Requisitos previos
- Una suscripción de Azure.
- Instale Visual Studio Code y la extensión "Cuenta de Azure"
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 CredentialUnavailableError
y 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.
Azure SDK for JavaScript