Share via


Azure Identity Plug-In für die Visual Studio Code-Authentifizierung

Dieses Paket stellt ein Plug-In für die Azure Identity-Bibliothek für JavaScript (@azure/identity) bereit, das die Authentifizierung über die Erweiterung "Azure-Konto" für Visual Studio Code ermöglicht. Dieses Plug-In stellt die Abhängigkeiten von VisualStudioCodeCredential in @azure/identity bereit und ermöglicht die Verwendung selbst oder als Teil von DefaultAzureCredential.

Quellcode | Proben

Erste Schritte

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

useIdentityPlugin(vsCodePlugin);

Voraussetzungen

Installieren des Pakets

Dieses Paket ist für die Verwendung mit Azure Identity für JavaScript konzipiert. Installieren Sie sowohl als auch @azure/identity dieses Paket mit npm:

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

Unterstützte Umgebungen

Azure Identity-Plug-Ins für JavaScript unterstützen stabile (gerade nummerierte) Versionen von Node.js ab v12. Während die Plug-Ins möglicherweise in anderen Node-Versionen ausgeführt werden können, ist keine Unterstützung garantiert. @azure/identity-vscodeunterstützt keine Browserumgebungen.

Wichtige Begriffe

Wenn Sie @azure/identity oder Microsoft Identity Platform (Azure Active Directory) zum ersten Mal verwenden, empfehlen wir, zuerst Verwenden von @azure/identity mit Microsoft Identity Platform zu lesen. Dieses Dokument vermittelt Ihnen ein tieferes Verständnis der Plattform, und Sie erfahren, wie Sie Ihr Azure-Konto richtig konfigurieren.

Azure Identity-Plug-Ins

@azure/identity Ab Version 2.0.0 enthält die Identitätsclientbibliothek für JavaScript eine Plug-In-API. Dieses Paket (@azure/identity-vscode) exportiert ein Plug-In-Objekt, das Sie als Argument an die Funktion der obersten Ebene useIdentityPlugin aus dem @azure/identity Paket übergeben müssen. Aktivieren Sie die Authentifizierung über die Erweiterung "Azure-Konto" für Visual Studio Code wie folgt:

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

useIdentityPlugin(vsCodePlugin);

Nach dem Aufrufen useIdentityPluginwird das VisualStudioCodeCredential aus dem @azure/identity Paket aktiviert. Wenn dieses Plug-In nicht verwendet wird, VisualStudioCodeCredential wird ein CredentialUnavailableErrorausgelöst, und es ist nicht als Teil von DefaultAzureCredentialverfügbar.

Visual Studio Code-Authentifizierung

VisualStudioCodeCredential verwendet die Authentifizierungssitzung aus der Erweiterung "Azure-Konto". Um diese Anmeldeinformationen verwenden zu können, müssen Sie sich mit der Erweiterung bei Ihrem Azure-Konto anmelden. Öffnen Sie dazu Visual Studio Code, stellen Sie sicher, dass die Erweiterung installiert ist, und melden Sie sich über die Befehlspalette mit der Option "Azure: Anmelden" an, um ein Browserfenster zu öffnen und sich bei Azure anzumelden. Alternativ können Sie "Azure: Anmelden mit Gerätecode" auswählen, um den Gerätecodeflow zu verwenden.

Nach der Anmeldung müssen Sie möglicherweise ein Abonnement auswählen (z. B. wenn Sie über mehrere Azure-Abonnements verfügen), und Sie können das aktive Abonnement über das Menü ändern, um den Eintrag "Azure: Abonnements auswählen" auszuwählen.

Beispiele

Sobald das Plug-In registriert wurde, können Sie in ähnlicher Weise wie die anderen Anmeldeinformationsklassen in @azure/identityverwendenVisualStudioCodeCredential:

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

Sie können auch verwenden DefaultAzureCredential, um sich mit der Erweiterung "Azure-Konto" für Visual Studio Code zu authentifizieren, sofern diese verfügbar ist:

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

Problembehandlung

Protokollierung

Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL auf info fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel in @azure/logger aufrufen:

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

setLogLevel("info");

Nächste Schritte

Feedback geben

Wenn Fehler auftreten oder wenn Sie Vorschläge haben, erstellen Sie ein Problem.

Mitwirken

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.

Aufrufe