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 DefaultAzureCredential
dari .
Memulai
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
Prasyarat
- Langganan Azure.
- Instal Visual Studio Code dan ekstensi "Akun Azure"
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-vscode
tidak 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 DefaultAzureCredential
dari .
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.
Azure SDK for JavaScript
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk