Partager via


Plug-in Azure Identity pour l’authentification Visual Studio Code

Ce package fournit un plug-in à la bibliothèque Azure Identity pour JavaScript (@azure/identity) qui active l’authentification via l’extension « Compte Azure » pour Visual Studio Code. Ce plug-in fournit les dépendances du VisualStudioCodeCredential dans et l’autorise à être utilisé seul ou dans @azure/identity le cadre de DefaultAzureCredential.

| Code sourceÉchantillons

Prise en main

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

useIdentityPlugin(vsCodePlugin);

Prérequis

Installer le package

Ce package est conçu pour être utilisé avec Azure Identity pour JavaScript. @azure/identity Installez et ce package à l’aide de npm:

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

Environnements pris en charge

Les plug-ins Azure Identity pour JavaScript prennent en charge les versions stables (même numérotées) de Node.js à partir de la version v12. Bien que les plug-ins puissent s’exécuter dans d’autres versions de Node, aucune prise en charge n’est garantie. @azure/identity-vscode ne prend pas en charge les environnements de navigateur.

Concepts clés

Si vous utilisez @azure/identity ou la plateforme d’identités Microsoft (Azure Active Directory) pour la première fois, nous vous recommandons de commencer par lire Utiliser @azure/identity avec la plateforme d’identités Microsoft. Ce document vous permettra de mieux comprendre le fonctionnement de la plateforme et vous expliquera comment configurer correctement votre compte Azure.

Plug-ins d’identité Azure

À compter de la @azure/identity version 2.0.0, la bibliothèque de client Identity pour JavaScript inclut une API de plug-in. Ce package (@azure/identity-vscode) exporte un objet de plug-in que vous devez passer en tant qu’argument à la fonction de niveau useIdentityPlugin supérieur à partir du @azure/identity package. Activez l’authentification via l’extension « Compte Azure » pour Visual Studio Code comme suit :

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

useIdentityPlugin(vsCodePlugin);

Après avoir appelé useIdentityPlugin, le VisualStudioCodeCredential à partir du @azure/identity package est activé. Si ce plug-in n’est pas utilisé, VisualStudioCodeCredential lève un CredentialUnavailableError, et il ne sera pas disponible dans le cadre de DefaultAzureCredential.

Authentification Visual Studio Code

VisualStudioCodeCredentialutilise la session d’authentification de l’extension « Compte Azure ». Pour utiliser ces informations d’identification, vous devez vous connecter à votre compte Azure à l’aide de l’extension . Pour ce faire, ouvrez Visual Studio Code, vérifiez que l’extension est installée et connectez-vous à partir de la palette de commandes à l’aide de l’option « Azure : Connexion » pour ouvrir une fenêtre de navigateur et vous connecter à Azure. Vous pouvez également sélectionner « Azure : Se connecter avec le code de l’appareil » pour utiliser le flux de code de l’appareil.

Après vous être connecté, vous devrez peut-être sélectionner un abonnement (par exemple, si vous avez plusieurs abonnements Azure) et vous pouvez modifier l’abonnement actif à l’aide du menu pour sélectionner l’entrée « Azure : Sélectionner des abonnements ».

Exemples

Une fois le plug-in inscrit, vous pouvez utiliser VisualStudioCodeCredential de la même façon que les autres classes d’informations d’identification dans @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);
});

Vous pouvez également utiliser DefaultAzureCredential, qui tente de s’authentifier à l’aide de l’extension « Compte Azure » pour Visual Studio Code si elle 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);
});

Résolution des problèmes

Journalisation

L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans @azure/logger :

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

setLogLevel("info");

Étapes suivantes

Fournir des commentaires

Si vous rencontrez des bogues ou si vous avez des suggestions, signalez un problème.

Contribution

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions