Mengonfigurasi Node MSAL

Pustaka MSAL memiliki sekumpulan opsi konfigurasi yang dapat digunakan untuk menyesuaikan perilaku alur autentikasi Anda. Opsi ini dapat diatur baik di konstruktor objek PublicClientApplication atau sebagai bagian dari API permintaan. Di sini kami menjelaskan objek konfigurasi yang dapat diteruskan ke konstruktor PublicClientApplication .

Prasyarat

Penggunaan

Objek konfigurasi dapat diteruskan ke PublicClientApplication konstruktor. Satu-satunya parameter konfigurasi yang client_id diperlukan adalah aplikasi. Segala sesuatu yang lain bersifat opsional, tetapi mungkin diperlukan tergantung pada alur autentikasi, penyewa, dan model aplikasi Anda.

Objek Konfigurasi dengan semua parameter yang didukung ditunjukkan di bawah ini:


// Call back APIs which automatically write and read into a .json file - example implementation
const beforeCacheAccess = async (cacheContext) => {
    cacheContext.tokenCache.deserialize(await fs.readFile(cachePath, "utf-8"));
};

const afterCacheAccess = async (cacheContext) => {
    if(cacheContext.cacheHasChanged){
        await fs.writeFile(cachePath, cacheContext.tokenCache.serialize());
    }
};

// Cache Plugin
const cachePlugin = {
    beforeCacheAccess,
    afterCacheAccess
};;

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        azureCloudOptions: {
            azureCloudInstance: "enter_AzureCloudInstance_here" // AzureCloudInstance enum is exported as a "type",
            tenant: "enter_tenant_info" // defaults to "common"
        }
    },
    cache: {
        cachePlugin // your implementation of cache plugin
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                console.log(message);
            },
            piiLoggingEnabled: false,
            logLevel: msal.LogLevel.Verbose,
        },
    }
}

const msalInstance = new PublicClientApplication(msalConfig);

Opsi

Opsi Konfigurasi Autentikasi

Option Deskripsi Format Nilai Bawaan
clientId ID aplikasi aplikasi Anda. Dapat ditemukan di pendaftaran aplikasi Anda di pendaftaran aplikasi pusat admin Microsoft Entra. UUID/GUID Tidak ada. Parameter ini diperlukan agar MSAL dapat melakukan tindakan apa pun.
authority URI penyewa untuk mengautentikasi dan mengotorisasi dengan. Biasanya dalam bentuk https://{uri}/{tenantid} String dalam format URI dengan penyewa - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Array URI yang diketahui valid. Digunakan dalam skenario B2C. Array string dalam format URI Array kosong []
cloudDiscoveryMetadata String yang berisi respons penemuan cloud. Digunakan dalam skenario Microsoft Entra. Lihat Performa untuk informasi selengkapnya string String kosong ""
authorityMetadata String yang berisi respons titik akhir .well-known/openid-configuration. Lihat Performa untuk informasi selengkapnya string String kosong ""
clientCapabilities Array kemampuan yang akan ditambahkan ke semua permintaan jaringan sebagai bagian xms_cc dari permintaan klaim Array yang berisi string []
azureCloudOptions Sekumpulan opsi cloud azure yang ditentukan bagi pengembang untuk default ke otoritas cloud spesifik mereka, untuk cloud tertentu yang didukung, silakan lihat AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Opsi Konfigurasi Cache

Option Deskripsi Format Nilai Bawaan
cachePlugin Plugin cache dengan panggilan balik untuk membaca dan menulis ke dalam persistensi cache (lihat juga: penembolokan) ICachePlugin nol

Opsi Konfigurasi Broker

Option Deskripsi Format Nilai Bawaan
nativeBrokerPlugin Plugin broker untuk memperoleh token melalui broker token asli (lihat juga: broker) INativeBrokerPlugin nol

Opsi Konfigurasi Sistem

Option Deskripsi Format Nilai Bawaan
loggerOptions Objek konfigurasi untuk pencatat. Lihat di bawah ini. Lihat di bawah ini.
NetworkClient Implementasi HTTP kustom INetworkModule HttpClient.ts
protocolMode Enum mewakili mode protokol yang akan digunakan. Jika "AAD", akan berfungsi pada titik akhir Microsoft Entra v2; jika "OIDC", akan berfungsi pada titik akhir yang mematuhi OIDC. string "AAD"
disableInternalRetries Jika true, MSAL tidak akan mencoba kembali permintaan jaringan yang gagal Boolean false

Note

Di MSAL Node v5, proxyUrl parameter dan customAgentOptions dihapus. Jika aplikasi Anda memerlukan dukungan proksi, terapkan klien HTTP kustom menggunakan INetworkModule. Lihat sampel INetworkModule kustom misalnya. Parameter protocolMode juga telah dipindahkan dari konfigurasi autentikasi ke konfigurasi sistem.

Opsi Konfigurasi Pencatat

Option Deskripsi Format Nilai Bawaan
loggerCallback Fungsi panggilan balik yang menangani pengelogan pernyataan MSAL. Fungsi- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Lihat di atas.
piiLoggingEnabled Jika benar, informasi pengidentifikasi pribadi (PII) disertakan dalam log. Boolean false

Opsi Konfigurasi Telemetri

Option Deskripsi Format Nilai Bawaan
application Opsi telemetri untuk aplikasi yang menggunakan MSAL.js Lihat di bawah ini Lihat di bawah ini

Telemetri Aplikasi

Option Deskripsi Format Nilai Bawaan
appName Nama string unik aplikasi string String kosong ""
appVersion Versi aplikasi menggunakan MSAL string String kosong ""

Langkah Selanjutnya

Lanjutkan untuk memahami API publik yang disediakan oleh msal-node untuk memperoleh token di sini