Dela via


Azure Identity-plugin-program för Visual Studio Code-autentisering

Det här paketet innehåller ett plugin-program till Azure Identity-biblioteket för JavaScript (@azure/identity) som möjliggör autentisering via tillägget "Azure-konto" för Visual Studio Code. Det här plugin-programmet tillhandahåller beroenden för VisualStudioCodeCredential in @azure/identity och gör att det kan användas på egen hand eller som en del av DefaultAzureCredential.

| Källkod Prover

Komma igång

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

useIdentityPlugin(vsCodePlugin);

Förutsättningar

Installera paketet

Det här paketet är utformat för att användas med Azure Identity för JavaScript. Installera både @azure/identity och det här paketet med :npm

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

Miljöer som stöds

Azure Identity-plugin-program för JavaScript stöder stabila (även numrerade) versioner av Node.js från och med v12. Plugin-program kan köras i andra Node-versioner, men inget stöd garanteras. @azure/identity-vscode stöder inte webbläsarmiljöer.

Viktiga begrepp

Om det här är första gången du använder @azure/identity eller Microsofts identitetsplattform (Azure Active Directory) rekommenderar vi att du läser Använda @azure/identity med Microsoft Identity Platform först. Det här dokumentet ger dig en djupare förståelse för plattformen och hur du konfigurerar ditt Azure-konto på rätt sätt.

Plugin-program för Azure Identity

@azure/identity Från och med version 2.0.0 innehåller Identity-klientbiblioteket för JavaScript ett plugin-API. Det här paketet (@azure/identity-vscode) exporterar ett plugin-objekt som du måste skicka som ett argument till funktionen på den översta nivån useIdentityPlugin från @azure/identity paketet. Aktivera autentisering via tillägget "Azure-konto" för Visual Studio Code på följande sätt:

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

useIdentityPlugin(vsCodePlugin);

När du har anropat useIdentityPluginVisualStudioCodeCredential aktiveras från @azure/identity paketet. Om det här plugin-programmet inte används VisualStudioCodeCredential kommer ett CredentialUnavailableError, och det kommer inte att vara tillgängligt som en del av DefaultAzureCredential.

Visual Studio Code-autentisering

VisualStudioCodeCredential använder autentiseringssessionen från tillägget "Azure-konto". Om du vill använda den här autentiseringsuppgiften måste du logga in på ditt Azure-konto med tillägget . Det gör du genom att öppna Visual Studio Code, kontrollera att tillägget är installerat och logga in från kommandopaletten med alternativet "Azure: Logga in" för att öppna ett webbläsarfönster och logga in på Azure. Du kan också välja "Azure: Logga in med enhetskod" för att använda enhetens kodflöde.

När du har loggat in kan du behöva välja en prenumeration (till exempel om du har flera Azure-prenumerationer) och du kan ändra den aktiva prenumerationen med hjälp av menyn för att välja posten "Azure: Välj prenumerationer".

Exempel

När plugin-programmet har registrerats kan du använda VisualStudioCodeCredential på liknande sätt som de andra autentiseringsuppgiftsklasserna i @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);
});

Du kan också använda DefaultAzureCredential, som försöker autentisera med tillägget "Azure-konto" för Visual Studio Code om det är tillgängligt:

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

Felsökning

Loggning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Loggning kan också aktiveras vid körning genom att anropa setLogLevel i @azure/logger:

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

setLogLevel("info");

Nästa steg

Ge feedback

Om du stöter på buggar eller har förslag kan du öppna ett problem.

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden om du vill veta mer om hur du skapar och testar koden.

Visningar