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.
Warning
Sebelum memulai di sini, pastikan Anda memahami Menggunakan kredensial sertifikat dengan MSAL Node.
Autentikasi SNI (Nama Subjek/Penerbit) memungkinkan aplikasi mengautentikasi menggunakan sertifikat publik dari CA tepercaya yang telah ditentukan untuk mendukung skenario rollover sertifikat yang kompleks. Ini menggunakan parameter header X5C untuk menyediakan sertifikat ke server.
Pengguna pihak pertama harus mengikuti instruksi di wiki Microsoft Entra internal untuk menyiapkan lingkungan Microsoft Entra mereka untuk mendukung SNI.
x5c Klaim
Anda perlu memberikan string dari sertifikat terenkode Anda pem ke dalam objek konfigurasi MSAL di bidang clientCertificate.x5c, selain juga memberikan clientCertificate.thumbprintSha256 dan clientCertificate.privateKey:
Contoh x5c string dari .pem file:
-----BEGIN CERTIFICATE-----
<cert1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<cert2>
-----END CERTIFICATE-----
// ...
Lihat juga: Sertifikat: mengonversi pfx ke pem
Konfigurasi aplikasi
Menggunakan rahasia dan sertifikat dengan aman
Rahasia tidak boleh dikodekan secara permanen. Paket npm dotenv dapat digunakan untuk menyimpan rahasia atau sertifikat dalam file .env (terletak di direktori akar proyek) yang harus disertakan dalam .gitignore untuk mencegah unggahan rahasia yang tidak disengaja.
Sertifikat juga dapat dibaca dari file melalui modul fs NodeJS. Namun, mereka tidak boleh disimpan di direktori proyek. Aplikasi produksi harus mengambil sertifikat dari Azure KeyVault, atau brankas kunci aman lainnya.
Silakan lihat sertifikat dan rahasia untuk informasi lebih lanjut.
Lihat sampel MSAL: auth-code-with-certs
Cuplikan di bawah ini menunjukkan cara menginisialisasi MSAL untuk autentikasi Nama Subjek / Penerbit (SNI):
var msal = require('@azure/msal-node');
require('dotenv').config(); // process.env now has the values defined in a .env file
const config = {
auth: {
clientId: "ENTER_CLIENT_ID",
authority: "https://login.microsoftonline.com/ENTER_TENANT_ID",
clientCertificate: {
thumbprintSha256: process.env.thumbprint, // a 64-digit hexadecimal string
privateKey: process.env.privateKey,
x5c: process.env.x5c
}
}
}
};
// Create msal application object
const cca = new msal.ConfidentialClientApplication(config);
Masalah Umum
Silakan lihat Masalah umum saat mengimpor sertifikat.