Opsi konfigurasi autentikasi

Sebelum memulai di sini, pastikan Anda memahami cara menginisialisasi objek aplikasi.

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

Menggunakan objek konfigurasi

Objek konfigurasi memiliki struktur berikut, dan dapat diteruskan ke PublicClientApplication konstruktor. Satu-satunya parameter konfigurasi yang diperlukan adalah ID klien aplikasi. Segala sesuatu yang lain bersifat opsional, tetapi mungkin diperlukan tergantung pada penyewa dan model aplikasi Anda.

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        redirectUri: "enter_redirect_uri_here",
        postLogoutRedirectUri: "enter_postlogout_uri_here",
        navigateToLoginRequestUrl: true,
        clientCapabilities: ["CP1"],
    },
    cache: {
        cacheLocation: "sessionStorage",
    },
    system: {
        loggerOptions: {
            loggerCallback: (
                level: LogLevel,
                message: string,
                containsPii: boolean
            ): void => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        console.error(message);
                        return;
                    case LogLevel.Info:
                        console.info(message);
                        return;
                    case LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false,
        },
        windowHashTimeout: 60000,
        iframeHashTimeout: 6000,
        loadFrameTimeout: 0,
        protocolMode: "AAD"
    },
    telemetry: {
        application: {
            appName: "My Application",
            appVersion: "1.0.0",
        },
    },
};

const msalInstance = new PublicClientApplication(msalConfig);

Opsi Konfigurasi

Opsi Konfigurasi Autentikasi

Option Deskripsi Format Nilai Bawaan
clientId ID aplikasi aplikasi Anda. Dapat ditemukan di panel pendaftaran aplikasi portal Azure Anda 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. string String kosong ""
authorityMetadata String yang berisi respons titik akhir .well-known/openid-configuration. string String kosong ""
redirectUri URI tempat respons kode otorisasi dikirim kembali. Lokasi apa pun yang ditentukan di sini harus memiliki pustaka MSAL yang tersedia untuk menangani respons. String dalam format URI absolut atau relatif Halaman permintaan masuk (window.location.href dari halaman yang membuat permintaan autentikasi)
postLogoutRedirectUri URI yang dialihkan ke setelah panggilan logout() dilakukan. String dalam format URI absolut atau relatif. Teruskan null untuk menonaktifkan pengalihan pasca keluar. Halaman permintaan masuk (window.location.href dari halaman yang membuat permintaan autentikasi)
navigateToLoginRequestUrl Jika true, akan menavigasi kembali ke lokasi permintaan asli sebelum memproses respons kode otorisasi. redirectUri Jika sama dengan lokasi permintaan asli, bendera ini harus diatur ke false. Boolean true
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. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Bendera untuk memilih apakah akan menggunakan cache metadata lokal selama inisialisasi otoritas. Cache metadata digunakan jika tidak ada metadata otoritas yang disediakan dan sebelum panggilan jaringan untuk metadata telah dilakukan. Boolean false
onRedirectNavigate Panggilan balik yang melewati URL MSAL akan menavigasi ke dalam alur pengalihan. false Mengembalikan di panggilan balik akan menghentikan navigasi. Fungsi - (url: string) => boolean \| void undefined
instanceAware Bendera yang menunjukkan apakah STS harus mengirim kembali parameter tambahan untuk menentukan dari mana token harus diambil. Boolean false
isMcp Jika true, resource parameter diperlukan pada semua permintaan token. Digunakan untuk alur Protokol Konteks Model (MCP). Boolean false

Opsi Konfigurasi Cache

Option Deskripsi Format Nilai Bawaan
cacheLocation Lokasi cache token di browser. Nilai string yang harus menjadi salah satu dari berikut ini: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
temporaryCacheLocation (Tidak digunakan lagi) Lokasi cache sementara di browser. Opsi ini hanya boleh diubah untuk kasus tepi tertentu. Untuk informasi selengkapnya, lihat penembolokan. Nilai string yang harus menjadi salah satu dari berikut ini: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
storeAuthStateInCookie (Tidak digunakan lagi) Jika true, menyimpan item cache dalam cookie serta cache browser. Sebelumnya digunakan untuk kompatibilitas Internet Explorer. Boolean false
secureCookies (Tidak digunakan lagi) Jika true dan storeAuthStateInCookie juga diaktifkan, MSAL menambahkan Secure bendera ke cookie browser sehingga hanya dapat dikirim melalui HTTPS. Boolean false
cacheMigrationEnabled Jika true, entri cache dari versi MSAL yang lebih lama diperbarui agar sesuai dengan skema cache terbaru saat startup. Jika aplikasi Anda belum diperbarui baru-baru ini ke versi baru MSAL.js, Anda dapat menonaktifkannya dengan aman. Jika entri cache lama tidak dimigrasikan, ini dapat mengakibatkan kehilangan cache saat mencoba mengambil akun atau token, dan pengguna yang terpengaruh mungkin perlu mengautentikasi ulang untuk mendapatkan informasi terbaru. Boolean true saat menggunakan localStorage, false jika tidak
claimsBasedCachingEnabled Jika true, token akses di-cache di bawah kunci yang berisi hash string klaim yang diminta, yang mengakibatkan kehilangan cache dan permintaan token jaringan baru ketika permintaan token yang sama dibuat dengan klaim yang berbeda atau hilang. Jika diatur ke false, token di-cache tanpa klaim, tetapi semua permintaan yang berisi klaim masuk ke jaringan dan menimpa token yang sebelumnya di-cache dengan cakupan yang sama. Boolean false

Note

Opsi temporaryCacheLocation tidak digunakan lagi dalam versi MSAL Browser terbaru dan dapat dihapus dalam rilis utama di masa mendatang. Anda tidak boleh mengandalkan opsi ini untuk implementasi baru.

Note

Opsi storeAuthStateInCookie dan secureCookies tidak digunakan lagi dalam versi MSAL Browser terbaru. Opsi ini terutama digunakan untuk kompatibilitas Internet Explorer, yang tidak lagi didukung. Mereka dapat dihapus dalam rilis utama di masa mendatang.

Lihat Penembolokan di MSAL untuk informasi selengkapnya.

Opsi Konfigurasi Sistem

Option Deskripsi Format Nilai Bawaan
loggerOptions Objek konfigurasi untuk pencatat. Lihat di bawah ini. Lihat di bawah ini.
windowHashTimeout Waktu habis dalam milidetik untuk menunggu operasi popup diselesaikan. bilangan bulat (milidetik) 60000
iframeHashTimeout Waktu habis dalam milidetik untuk menunggu operasi iframe diselesaikan. bilangan bulat (milidetik) 6000
loadFrameTimeout Waktu habis dalam milidetik untuk menunggu operasi iframe/popup diselesaikan. Jika disediakan, akan mengatur nilai default untuk windowHashTimeout dan iframeHashTimeout. bilangan bulat (milidetik) undefined
navigateFrameWait Penundaan dalam milidetik untuk menunggu iframe dimuat di jendela. bilangan bulat (milidetik) Di IE atau Edge: 500, di semua browser lainnya: 0
asyncPopups (Tidak digunakan lagi — gunakan navigatePopups sebagai gantinya.) Mengatur apakah popup dibuka secara asinkron. Ketika diatur ke false, popup kosong dibuka sebelum hal lain terjadi. Ketika diatur ke true, popup dibuka saat membuat permintaan jaringan. Boolean false
navigatePopups Mengatur apakah popup dibuka dan dinavigasi ke nanti. Saat diatur ke true, popup kosong dibuka lalu navigasikan ke domain masuk. Ketika diatur ke false, popup dibuka langsung ke domain masuk. Ini dapat diatur ke false untuk skenario di mana about:blank tidak didukung, seperti aplikasi desktop atau aplikasi web progresif. Boolean true
allowRedirectInIframe Secara default, MSAL tidak mengizinkan operasi pengalihan dimulai ketika aplikasi berada di dalam iframe. Atur bendera ini ke true untuk menghapus pemeriksaan ini. Boolean false
cryptoOptions Objek konfigurasi untuk operasi kripto di browser. Lihat Opsi Konfigurasi Kripto Lihat Opsi Konfigurasi Kripto
pollIntervalMilliseconds Interval waktu dalam milidetik antara polling hash URL popup selama autentikasi. bilangan bulat (milidetik) 30
protocolMode Enum mewakili mode protokol yang akan digunakan. Jika "AAD", fungsi MSAL pada titik akhir AAD v2 yang mematuhi OIDC; jika "OIDC", fungsinya pada titik akhir yang mematuhi OIDC lainnya. string "AAD"

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 Kripto

Option Deskripsi Format Nilai Bawaan
useMsrCrypto Apakah akan menggunakan MSR Crypto jika tersedia di browser (dan antarmuka kripto lainnya tidak tersedia). Boolean false
entropy Nilai acak yang kuat secara kriptografis digunakan untuk menyemai Kripto MSR (misalnya crypto.randomBytes(48) dari Node). 48 bit entropi disarankan. Diperlukan jika useMsrCrypto diaktifkan. Uint8Array undefined

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
client Instans klien performa telemetri IPerformanceClient StubPerformanceClient

Telemetri Aplikasi

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