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
.
Erste Schritte
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Voraussetzungen
- Ein Azure-Abonnement.
- Installieren von Visual Studio Code und der Erweiterung "Azure-Konto"
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-vscode
unterstü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 useIdentityPlugin
wird das VisualStudioCodeCredential
aus dem @azure/identity
Paket aktiviert. Wenn dieses Plug-In nicht verwendet wird, VisualStudioCodeCredential
wird ein CredentialUnavailableError
ausgelöst, und es ist nicht als Teil von DefaultAzureCredential
verfü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/identity
verwendenVisualStudioCodeCredential
:
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.
Azure SDK for JavaScript