Condividi tramite


Plug-in di Identità di Azure per l'autenticazione di Visual Studio Code

Questo pacchetto fornisce un plug-in alla libreria di identità di Azure per JavaScript (@azure/identity) che consente l'autenticazione tramite l'estensione "Account di Azure" per Visual Studio Code. Questo plug-in fornisce le dipendenze dell'oggetto in @azure/identity e lo abilita per l'uso VisualStudioCodeCredential in proprio o come parte di DefaultAzureCredential.

Codice | sorgente Campioni

Introduzione

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

useIdentityPlugin(vsCodePlugin);

Prerequisiti

Installare il pacchetto

Questo pacchetto è progettato per essere usato con Identità di Azure per JavaScript. Installare entrambi @azure/identity e questo pacchetto usando npm:

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

Ambienti supportati

Plug-in di Identità di Azure per javaScript supportano versioni stabili (anche numerate) di Node.js a partire dalla versione 12. Anche se i plug-in possono essere eseguiti in altre versioni di Node, non è garantito alcun supporto. @azure/identity-vscode non supporta gli ambienti del browser.

Concetti chiave

Se questa è la prima volta che si usa @azure/identity o Microsoft Identity Platform (Azure Active Directory), è consigliabile leggere prima Using @azure/identity with Microsoft Identity Platform (Uso di @azure/identity con Microsoft Identity Platform). Questo documento illustra in modo più approfondito la piattaforma e come configurare correttamente l'account di Azure.

Plug-in di identità di Azure

A partire dalla @azure/identity versione 2.0.0, la libreria client Identity per JavaScript include un'API plug-in. Questo pacchetto (@azure/identity-vscode) esporta un oggetto plug-in che è necessario passare come argomento alla funzione di primo livello useIdentityPlugin dal @azure/identity pacchetto. Abilitare l'autenticazione tramite l'estensione "Account di Azure" per Visual Studio Code come indicato di seguito:

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

useIdentityPlugin(vsCodePlugin);

Dopo aver chiamato useIdentityPlugin, l'oggetto VisualStudioCodeCredential@azure/identity dal pacchetto verrà abilitato. Se questo plug-in non viene usato, VisualStudioCodeCredential genererà un CredentialUnavailableErroroggetto e non sarà disponibile come parte di DefaultAzureCredential.

Autenticazione di Visual Studio Code

VisualStudioCodeCredentialusa la sessione di autenticazione dall'estensione "Account di Azure". Per usare questa credenziale, è necessario accedere all'account Azure usando l'estensione. A tale scopo, aprire Visual Studio Code, assicurarsi che l'estensione sia installata e accedere dal riquadro comandi usando l'opzione "Azure: Accedi" per aprire una finestra del browser e accedere ad Azure. In alternativa, è possibile selezionare "Azure: Accedi con codice dispositivo" per usare il flusso del codice del dispositivo.

Dopo l'accesso, potrebbe essere necessario selezionare una sottoscrizione( ad esempio, se sono presenti più sottoscrizioni di Azure) e è possibile modificare la sottoscrizione attiva usando il menu per selezionare la voce "Azure: Select Subscriptions".

Esempio

Dopo aver registrato il plug-in, è possibile usare VisualStudioCodeCredential in modo simile alle altre classi di credenziali in @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);
});

È anche possibile usare DefaultAzureCredential, che tenterà di eseguire l'autenticazione usando l'estensione "Account di Azure" per Visual Studio Code, se disponibile:

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

Risoluzione dei problemi

Registrazione

L'abilitazione della registrazione consente di individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel in @azure/logger:

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

setLogLevel("info");

Passaggi successivi

Commenti e suggerimenti

Se si riscontrano bug o si hanno suggerimenti, aprire un problema.

Contributo

Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.

Impression