Bagikan melalui


Plugin Identitas Azure untuk Autentikasi Visual Studio Code

Paket ini menyediakan plugin ke pustaka Azure Identity untuk JavaScript (@azure/identity) yang memungkinkan autentikasi melalui ekstensi "Akun Azure" untuk Visual Studio Code. Plugin ini menyediakan dependensi VisualStudioCodeCredential in @azure/identity dan memungkinkannya untuk digunakan sendiri atau sebagai bagian DefaultAzureCredentialdari .

Kode sumber | Sampel

Memulai

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

useIdentityPlugin(vsCodePlugin);

Prasyarat

Instal paketnya

Paket ini dirancang untuk digunakan dengan Azure Identity for JavaScript. Instal dan @azure/identity paket ini menggunakan npm:

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

Lingkungan yang Didukung

Plugin Azure Identity untuk JavaScript mendukung versi Node.js stabil (bahkan bernomor) mulai dari v12. Meskipun plugin dapat berjalan di versi Node lainnya, tidak ada dukungan yang dijamin. @azure/identity-vscodetidak mendukung lingkungan browser.

Konsep utama

Jika ini pertama kalinya Anda menggunakan @azure/identity atau platform identitas Microsoft (Azure Active Directory), sebaiknya Anda membaca Menggunakan @azure/identity dengan Platform Identitas Microsoft terlebih dahulu. Dokumen ini akan memberi Anda pemahaman yang lebih mendalam tentang platform dan cara mengonfigurasi akun Azure Anda dengan benar.

Plugin Identitas Azure

Pada @azure/identity versi 2.0.0, pustaka klien Identitas untuk JavaScript menyertakan API plugin. Paket ini (@azure/identity-vscode) mengekspor objek plugin yang harus Anda teruskan sebagai argumen ke fungsi tingkat useIdentityPlugin atas dari @azure/identity paket. Aktifkan autentikasi melalui ekstensi "Akun Azure" untuk Visual Studio Code sebagai berikut:

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

useIdentityPlugin(vsCodePlugin);

Setelah memanggil useIdentityPlugin, VisualStudioCodeCredential dari @azure/identity paket akan diaktifkan. Jika plugin ini tidak digunakan, maka VisualStudioCodeCredential akan melempar CredentialUnavailableError, dan tidak akan tersedia sebagai bagian DefaultAzureCredentialdari .

Autentikasi Visual Studio Code

VisualStudioCodeCredential menggunakan sesi autentikasi dari ekstensi "Akun Azure". Untuk menggunakan kredensial ini, Anda harus masuk ke akun Azure Anda menggunakan ekstensi . Untuk melakukannya, buka Visual Studio Code, pastikan ekstensi diinstal, dan masuk dari Palet Perintah menggunakan opsi "Azure: Masuk" untuk membuka jendela browser dan masuk ke Azure. Atau, Anda dapat memilih "Azure: Masuk dengan Kode Perangkat" untuk menggunakan alur kode perangkat.

Setelah masuk, Anda mungkin perlu memilih langganan (misalnya, jika Anda memiliki beberapa langganan Azure), dan Anda dapat mengubah langganan aktif dengan menggunakan menu untuk memilih entri "Azure: Pilih Langganan".

Contoh

Setelah plugin terdaftar, Anda dapat menggunakan VisualStudioCodeCredential dengan cara yang sama dengan kelas kredensial lainnya di @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);
});

Anda juga dapat menggunakan DefaultAzureCredential, yang akan mencoba mengautentikasi menggunakan ekstensi "Akun Azure" untuk Visual Studio Code jika tersedia:

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

Pemecahan Masalah

Pencatatan

Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

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

setLogLevel("info");

Langkah berikutnya

Berikan Umpan Balik

Jika Anda menemukan bug atau memiliki saran, buka masalah.

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.

Tayangan