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
.
Introduzione
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Prerequisiti
- Una sottoscrizione di Azure.
- Installare Visual Studio Code e l'estensione "Account di Azure"
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 CredentialUnavailableError
oggetto e non sarà disponibile come parte di DefaultAzureCredential
.
Autenticazione di Visual Studio Code
VisualStudioCodeCredential
usa 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.
Azure SDK for JavaScript