Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekstensi Autentikasi Microsoft untuk Node memungkinkan pengembang untuk melakukan serialisasi cache token lintas platform dan persistensi ke disk. Ini memberikan dukungan ekstra ke Microsoft Authentication Library (MSAL) untuk Node.
MSAL untuk Node mendukung cache dalam memori secara default dan menyediakan antarmuka ICachePlugin untuk melakukan serialisasi cache, tetapi tidak menyediakan cara default untuk menyimpan cache token ke disk. Ekstensi Autentikasi Microsoft untuk Node adalah implementasi default untuk cache yang bertahan ke disk di berbagai platform.
Ekstensi Autentikasi Microsoft untuk Node mendukung platform berikut:
- Windows - Perlindungan data API (DPAPI) digunakan untuk perlindungan.
- Mac - Rantai Kunci Mac digunakan.
- Linux - LibSecret digunakan untuk menyimpan ke "Layanan Rahasia".
Penginstalan
msal-node-extensions
Paket ini tersedia di Pengelola Paket Node (NPM).
npm i @azure/msal-node-extensions --save
Mengonfigurasi cache token
Berikut adalah contoh kode yang menggunakan Ekstensi Autentikasi Microsoft pada Node untuk mengkonfigurasi cache token.
const {
DataProtectionScope,
Environment,
PersistenceCreator,
PersistenceCachePlugin,
} = require("@azure/msal-node-extensions");
// You can use the helper functions provided through the Environment class to construct your cache path
// The helper functions provide consistent implementations across Windows, Mac and Linux.
const cachePath = path.join(Environment.getUserRootDirectory(), "./cache.json");
const persistenceConfiguration = {
cachePath,
dataProtectionScope: DataProtectionScope.CurrentUser,
serviceName: "<SERVICE-NAME>",
accountName: "<ACCOUNT-NAME>",
usePlaintextFileOnLinux: false,
};
// The PersistenceCreator obfuscates a lot of the complexity by doing the following actions for you :-
// 1. Detects the environment the application is running on and initializes the right persistence instance for the environment.
// 2. Performs persistence validation for you.
// 3. Performs any fallbacks if necessary.
PersistenceCreator.createPersistence(persistenceConfiguration).then(
async (persistence) => {
const publicClientConfig = {
auth: {
clientId: "<CLIENT-ID>",
authority: "<AUTHORITY>",
},
// This hooks up the cross-platform cache into MSAL
cache: {
cachePlugin: new PersistenceCachePlugin(persistence),
},
};
const pca = new msal.PublicClientApplication(publicClientConfig);
// Use the public client application as required...
}
);
Tabel berikut memberikan penjelasan untuk semua argumen untuk konfigurasi persistensi.
Nama Bidang | Deskripsi | Diperlukan untuk |
---|---|---|
cachePath | Jalur ke file kunci yang digunakan pustaka untuk menyinkronkan bacaan dan penulisan | Windows, Mac, dan Linux |
dataProtectionScope | Menentukan ruang lingkup perlindungan data pada Windows baik pengguna saat ini atau mesin lokal. | Windows |
serviceName | Menentukan nama layanan yang akan digunakan di Mac dan/atau Linux | Mac dan Linux |
accountName | Menentukan nama akun yang akan digunakan di Mac dan/atau Linux | Mac dan Linux |
usePlaintextFileOnLinux | Beri bendera default ke teks biasa di linux jika LibSecret gagal. Default ke false |
Linux |
Langkah berikutnya
Untuk informasi lebih lanjut tentang Ekstensi Autentikasi Microsoft untuk Node dan MSAL Node, lihat: