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
.
Prise en main
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Prérequis
- Un abonnement Azure.
- Installer Visual Studio Code et l’extension « Compte Azure »
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
VisualStudioCodeCredential
utilise 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.
Azure SDK for JavaScript