Wtyczka tożsamości platformy Azure na potrzeby uwierzytelniania Visual Studio Code
Ten pakiet udostępnia wtyczkę do biblioteki tożsamości platformy Azure dla języka JavaScript (@azure/identity
), która umożliwia uwierzytelnianie za pomocą rozszerzenia "Konto platformy Azure" dla Visual Studio Code. Ta wtyczka udostępnia zależności VisualStudioCodeCredential
elementu in @azure/identity
i umożliwia jego użycie samodzielnie lub w ramach elementu DefaultAzureCredential
.
Wprowadzenie
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Wymagania wstępne
Instalowanie pakietu
Ten pakiet jest przeznaczony do użycia z usługą Azure Identity dla języka JavaScript. Zainstaluj zarówno pakiet, jak @azure/identity
i ten przy użyciu polecenia npm
:
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
Obsługiwane środowiska
Wtyczki tożsamości platformy Azure dla języka JavaScript obsługują stabilne (parzysty) wersje Node.js począwszy od wersji 12. Chociaż wtyczki mogą być uruchamiane w innych wersjach środowiska Node, nie ma gwarantowanej obsługi.
@azure/identity-vscode
nie obsługuje środowisk przeglądarki.
Kluczowe pojęcia
Jeśli po raz pierwszy używasz @azure/identity
usługi lub Platforma tożsamości Microsoft (Azure Active Directory), najpierw zalecamy przeczytanie artykułu Using with Microsoft Identity Platform (Korzystanie @azure/identity
z platformy tożsamości microsoft). Ten dokument zawiera bardziej szczegółowe informacje na temat platformy i sposobu prawidłowego konfigurowania konta platformy Azure.
Wtyczki tożsamości platformy Azure
@azure/identity
Od wersji 2.0.0 biblioteka klienta identity dla języka JavaScript zawiera interfejs API wtyczki. Ten pakiet (@azure/identity-vscode
) eksportuje obiekt wtyczki, który należy przekazać jako argument do funkcji najwyższego @azure/identity
poziomu useIdentityPlugin
z pakietu. Włącz uwierzytelnianie za pomocą rozszerzenia "Konto platformy Azure" dla Visual Studio Code w następujący sposób:
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Po wywołaniu useIdentityPlugin
VisualStudioCodeCredential
polecenia element z @azure/identity
pakietu zostanie włączony. Jeśli ta wtyczka nie jest używana, VisualStudioCodeCredential
wyrzuci element CredentialUnavailableError
i nie będzie dostępny jako część .DefaultAzureCredential
Uwierzytelnianie Visual Studio Code
VisualStudioCodeCredential
używa sesji uwierzytelniania z rozszerzenia "Konto platformy Azure". Aby użyć tego poświadczenia, musisz zalogować się do konta platformy Azure przy użyciu rozszerzenia . W tym celu otwórz Visual Studio Code, upewnij się, że rozszerzenie jest zainstalowane, a następnie zaloguj się z palety poleceń przy użyciu opcji "Azure: Sign In", aby otworzyć okno przeglądarki i zalogować się do platformy Azure. Alternatywnie możesz wybrać pozycję "Azure: Zaloguj się przy użyciu kodu urządzenia", aby użyć przepływu kodu urządzenia.
Po zalogowaniu może być konieczne wybranie subskrypcji (na przykład jeśli masz wiele subskrypcji platformy Azure) i zmianę aktywnej subskrypcji przy użyciu menu, aby wybrać wpis "Azure: Wybierz subskrypcje".
Przykłady
Po zarejestrowaniu wtyczki można użyć VisualStudioCodeCredential
jej w podobny sposób do innych klas poświadczeń w programie @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);
});
Można również użyć polecenia DefaultAzureCredential
, który podejmie próbę uwierzytelnienia przy użyciu rozszerzenia "Konto platformy Azure" dla Visual Studio Code, jeśli jest dostępny:
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);
});
Rozwiązywanie problemów
Rejestrowanie
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną AZURE_LOG_LEVEL
środowiskową na info
. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel
polecenie w pliku @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Następne kroki
Przekazywanie opinii
Jeśli napotkasz usterki lub masz sugestie, otwórz problem.
Współtworzenie
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.
Azure SDK for JavaScript