Bagikan melalui


Pengelogan ke MSAL.js

Aplikasi Microsoft Authentication Library (MSAL) membuat pesan log yang dapat membantu mendiagnosis masalah. Aplikasi yang dapat mengonfigurasi pengelogan dengan beberapa baris kode, dan memiliki kontrol kustom atas tingkat detail dan apakah data pribadi dan organisasi dicatat atau tidak. Sebaiknya Anda membuat implementasi pengelogan MSAL dan menyediakan cara bagi pengguna untuk mengirimkan log saat mereka memiliki masalah autentikasi.

Tingkat Pengelogan

MSAL menyediakan beberapa tingkat detail pengelogan:

  • LogAlways: Tidak ada pemfilteran tingkat yang dilakukan pada tingkat log ini. Pesan log dari semua tingkatan akan dicatat.
  • Kritis: Log yang menjelaskan aplikasi atau crash sistem yang tidak dapat dipulihkan, atau kegagalan bencana yang membutuhkan perhatian segera.
  • Kesalahan: Menunjukkan ada sesuatu yang salah dan kesalahan dibuat. Digunakan untuk penelusuran kesalahan dan mengidentifikasi masalah.
  • Peringatan: Belum tentu ada kesalahan atau kegagalan, tetapi ditujukan untuk diagnostik dan menentukan masalah.
  • Informasi: MSAL akan mencatat peristiwa yang ditujukan untuk tujuan informasi yang belum tentu ditujukan untuk penelusuran kesalahan.
  • Verbose (Default): MSAL mencatat detail lengkap perilaku pustaka.

Catatan

Tidak semua tingkat log tersedia untuk semua MSAL SDK

Data pribadi dan organisasi

Secara default, pencatat MSAL tidak menangkap data pribadi atau organisasi yang sangat sensitif. Pustaka menyediakan opsi untuk mengaktifkan pengelogan data pribadi dan organisasi jika Anda memutuskan untuk melakukannya.

Bagian berikut ini menyediakan detail selengkapnya tentang pengelogan kesalahan MSAL untuk aplikasi Anda.

Mengonfigurasi pencatatan di MSAL.js

Aktifkan pengelogan di MSAL.js (JavaScript) dengan meneruskan objek loggerOptions selama konfigurasi untuk membuat instans PublicClientApplication. Satu-satunya parameter konfigurasi yang diperlukan adalah ID klien aplikasi. Yang lain bersifat opsional, tetapi mungkin diperlukan tergantung pada penyewa dan model aplikasi Anda.

Objek loggerOptions ini memiliki properti berikut:

  • loggerCallback: Fungsi Callback (panggilan balik) yang dapat disediakan oleh pengembang untuk menangani pengelogan pernyataan MSAL secara khusus. Terapkan fungsi loggerCallback tergantung pada cara Anda ingin mengalihkan log. Fungsi loggerCallback memiliki format berikut (level: LogLevel, message: string, containsPii: boolean): void
    • Tingkat log yang didukung adalah: Error, Warning, Info, dan Verbose. Default adalah Info.
  • piiLoggingEnabled (opsional): jika disetel ke true, mencatat data pribadi dan organisasi. Secara default, ini diatur ke false, sehingga aplikasi Anda tidak mencatat data pribadi. Log data pribadi tidak pernah ditulis ke output default seperti Console, Logcat, atau NSLog.
import msal from "@azure/msal-browser"

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",
        storeAuthStateInCookie: false,
        secureCookies: false
    },
    system: {
        loggerOptions: {
            logLevel: msal.LogLevel.Verbose,
            loggerCallback: (level, message, containsPii) => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case msal.LogLevel.Error:
                        console.error(message);
                        return;
                    case msal.LogLevel.Info:
                        console.info(message);
                        return;
                    case msal.LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case msal.LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false
        },
    },
};

Langkah berikutnya

Untuk sampel kode lainnya, lihat sampel kode platform identitas Microsoft.