Delen via


Azure Identity-invoegtoepassing voor Visual Studio Code-verificatie

Dit pakket biedt een invoegtoepassing voor de Azure Identity-bibliotheek voor JavaScript (@azure/identity) die verificatie via de extensie 'Azure-account' voor Visual Studio Code mogelijk maakt. Deze invoegtoepassing biedt de afhankelijkheden van de VisualStudioCodeCredential in @azure/identity en schakelt deze in voor gebruik op zichzelf of als onderdeel van DefaultAzureCredential.

Broncode | Monsters

Aan de slag

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

useIdentityPlugin(vsCodePlugin);

Vereisten

Het pakket installeren

Dit pakket is ontworpen voor gebruik met Azure Identity voor JavaScript. Installeer zowel als @azure/identity dit pakket met behulp van npm:

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

Ondersteunde omgevingen

Azure Identity-invoegtoepassingen voor JavaScript ondersteunen stabiele (even genummerde) versies van Node.js vanaf v12. Hoewel de invoegtoepassingen in andere knooppuntversies kunnen worden uitgevoerd, wordt er geen ondersteuning gegarandeerd. @azure/identity-vscodebiedt geen ondersteuning voor browseromgevingen.

Belangrijkste concepten

Als dit de eerste keer @azure/identity is dat u of de Microsoft identity platform (Azure Active Directory) gebruikt, raden we u aan eerst Gebruiken @azure/identity met Microsoft Identity Platform te lezen. In dit document krijgt u meer inzicht in het platform en hoe u uw Azure-account correct configureert.

Azure Identity-invoegtoepassingen

@azure/identity Vanaf versie 2.0.0 bevat de Identity-clientbibliotheek voor JavaScript een api voor invoegtoepassingen. Met dit pakket (@azure/identity-vscode) wordt een invoegtoepassingsobject geëxporteerd dat u als argument moet doorgeven aan de functie op het hoogste niveau useIdentityPlugin van het @azure/identity pakket. Schakel verificatie via de extensie 'Azure-account' voor Visual Studio Code als volgt in:

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

useIdentityPlugin(vsCodePlugin);

Na het aanroepen useIdentityPluginwordt de VisualStudioCodeCredential van het @azure/identity pakket ingeschakeld. Als deze invoegtoepassing niet wordt gebruikt, VisualStudioCodeCredential genereert een CredentialUnavailableErroren is deze niet beschikbaar als onderdeel van DefaultAzureCredential.

Visual Studio Code-verificatie

VisualStudioCodeCredential maakt gebruik van de verificatiesessie van de extensie 'Azure-account'. Als u deze referentie wilt gebruiken, moet u zich aanmelden bij uw Azure-account met behulp van de extensie. Hiervoor opent u Visual Studio Code, zorgt u ervoor dat de extensie is geïnstalleerd en meldt u zich aan vanuit het opdrachtpalet met behulp van de optie 'Azure: Aanmelden' om een browservenster te openen en u aan te melden bij Azure. U kunt ook 'Azure: Aanmelden met apparaatcode' selecteren om de apparaatcodestroom te gebruiken.

Nadat u zich hebt aangemeld, moet u mogelijk een abonnement selecteren (bijvoorbeeld als u meerdere Azure-abonnementen hebt) en kunt u het actieve abonnement wijzigen door het menu te gebruiken om de vermelding 'Azure: Abonnementen selecteren' te selecteren.

Voorbeelden

Zodra de invoegtoepassing is geregistreerd, kunt u op een vergelijkbare manier gebruiken VisualStudioCodeCredential als de andere referentieklassen 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);
});

U kunt ook gebruiken DefaultAzureCredentialom te verifiëren met behulp van de extensie 'Azure-account' voor Visual Studio Code als deze beschikbaar is:

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

Problemen oplossen

Logboekregistratie

Het inschakelen van logboekregistratie kan helpen bij het ontdekken van nuttige informatie over fouten. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de AZURE_LOG_LEVEL omgevingsvariabele in op info. Logboekregistratie kan ook worden ingeschakeld tijdens runtime door aan te roepen setLogLevel in de @azure/logger:

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

setLogLevel("info");

Volgende stappen

Feedback geven

Als u fouten tegenkomt of suggesties hebt, opent u een probleem.

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.

Weergaven