Modul plug-in Azure Identity pro ověřování pomocí editoru Visual Studio Code

Tento balíček poskytuje modul plug-in do knihovny Azure Identity pro JavaScript (@azure/identity), který umožňuje ověřování prostřednictvím rozšíření Azure Account pro Visual Studio Code. Tento modul plug-in poskytuje závislosti VisualStudioCodeCredential v @azure/identity a umožňuje jeho použití samostatně nebo jako součást .DefaultAzureCredential

Zdrojový kód | Vzorky

Začínáme

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

useIdentityPlugin(vsCodePlugin);

Požadavky

Instalace balíčku

Tento balíček je navržený pro použití se službou Azure Identity pro JavaScript. Nainstalujte oba a @azure/identity tento balíček pomocí npm:

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

Podporovaná prostředí

Moduly plug-in Azure Identity pro JavaScript podporují stabilní (sudé) verze Node.js počínaje verzí v12. I když moduly plug-in můžou běžet v jiných verzích Node, není zaručena žádná podpora. @azure/identity-vscode nepodporuje prostředí prohlížeče.

Klíčové koncepty

Pokud používáte @azure/identity nebo Microsoft identity platform (Azure Active Directory) poprvé, doporučujeme přečíst si nejprve téma Použití @azure/identity s platformou Microsoft Identity Platform. Tento dokument vám poskytne hlubší pochopení platformy a toho, jak správně nakonfigurovat účet Azure.

Moduly plug-in Azure Identity

@azure/identity Od verze 2.0.0 obsahuje klientská knihovna identit pro JavaScript rozhraní API modulu plug-in. Tento balíček (@azure/identity-vscode) exportuje objekt modulu plug-in, který musíte předat jako argument funkci nejvyšší úrovně useIdentityPlugin z @azure/identity balíčku. Následujícím způsobem povolte ověřování prostřednictvím rozšíření Azure Account pro Visual Studio Code:

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

useIdentityPlugin(vsCodePlugin);

Po volání useIdentityPluginVisualStudioCodeCredential se povolí hodnota z @azure/identity balíčku. Pokud se tento modul plug-in nepoužívá, VisualStudioCodeCredential vyvolá CredentialUnavailableErrora nebude k dispozici jako součást .DefaultAzureCredential

Ověřování pomocí editoru Visual Studio Code

VisualStudioCodeCredential používá relaci ověřování z rozšíření Účet Azure. Pokud chcete použít tyto přihlašovací údaje, musíte se přihlásit ke svému účtu Azure pomocí rozšíření. Uděláte to tak, že otevřete Visual Studio Code, ujistěte se, že je rozšíření nainstalované, a přihlaste se z palety příkazů pomocí možnosti Azure: Sign In (Azure: Přihlásit se). Otevře se okno prohlížeče a přihlásí se k Azure. Případně můžete vybrat Azure: Přihlásit se pomocí kódu zařízení a použít tok kódu zařízení.

Po přihlášení možná budete muset vybrat předplatné (například pokud máte více předplatných Azure) a aktivní předplatné můžete změnit tak, že v nabídce vyberete položku Azure: Vybrat předplatná.

Příklady

Jakmile je modul plug-in zaregistrovaný, můžete použít VisualStudioCodeCredential podobným způsobem jako ostatní třídy přihlašovacích údajů v nástroji @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);
});

Můžete také použít , DefaultAzureCredentialkterý se pokusí ověřit pomocí rozšíření Azure Account pro Visual Studio Code, pokud je k dispozici:

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

Řešení potíží

protokolování

Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL prostředí na info. Případně je možné protokolování povolit za běhu voláním setLogLevel v :@azure/logger

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

setLogLevel("info");

Další kroky

Zadání zpětné vazby

Pokud narazíte na chyby nebo máte návrhy, otevřete problém.

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.

Imprese