Share via


Logboekregistratie in MSAL.js

De MSAL-apps (Microsoft Authentication Library) genereren logboekberichten waarmee problemen kunnen worden vastgesteld. Een app kan logboekregistratie met een paar regels code configureren en aangepaste controle hebben over het detailniveau en of persoonlijke en organisatorische gegevens al dan niet worden vastgelegd. U wordt aangeraden een IMPLEMENTATIE van MSAL-logboekregistratie te maken en gebruikers een manier te bieden om logboeken in te dienen wanneer ze verificatieproblemen ondervinden.

Logboekregistratieniveaus

MSAL biedt verschillende niveaus van logboekregistratiedetails:

  • LogAlways: Er wordt geen niveaufiltering uitgevoerd op dit logboekniveau. Logboekberichten van alle niveaus worden vastgelegd.
  • Kritiek: logboeken die een onherstelbare toepassing of systeemcrash beschrijven, of een onherstelbare fout waarvoor onmiddellijke aandacht is vereist.
  • Fout: Geeft aan dat er iets mis is gegaan en er een fout is gegenereerd. Wordt gebruikt voor foutopsporing en het identificeren van problemen.
  • Waarschuwing: er is niet noodzakelijkerwijs een fout of fout opgetreden, maar zijn bedoeld voor diagnostische gegevens en het aanwijzen van problemen.
  • Informatief: MSAL zal gebeurtenissen vastleggen die zijn bedoeld voor informatieve doeleinden, niet noodzakelijkerwijs bedoeld voor foutopsporing.
  • Uitgebreid (standaard): MSAL registreert de volledige details van het gedrag van de bibliotheek.

Notitie

Niet alle logboekniveaus zijn beschikbaar voor alle MSAL SDK's

Persoonlijke en organisatorische gegevens

Standaard legt de MSAL-logboekregistratie geen zeer gevoelige persoonlijke of organisatorische gegevens vast. De bibliotheek biedt de optie om persoonlijke en organisatiegegevens in te schakelen als u dit wilt doen.

In de volgende secties vindt u meer informatie over MSAL-foutenlogboekregistratie voor uw toepassing.

Logboekregistratie configureren in MSAL.js

Schakel logboekregistratie in MSAL.js (JavaScript) in door een loggerOptions-object door te geven tijdens de configuratie voor het maken van een PublicClientApplication exemplaar. De enige vereiste configuratieparameter is de client-id van de toepassing. Alles anders is optioneel, maar is mogelijk vereist, afhankelijk van uw tenant en toepassingsmodel.

Het object loggerOptions heeft de volgende eigenschappen:

  • loggerCallback: een callback-functie die door de ontwikkelaar kan worden verstrekt om de logboekregistratie van MSAL-instructies op een aangepaste manier af te handelen. Implementeer de loggerCallback functie, afhankelijk van hoe u logboeken wilt omleiden. De functie loggerCallback heeft de volgende indeling (level: LogLevel, message: string, containsPii: boolean): void
    • De ondersteunde logboekniveaus zijn: Error, Warning, Infoen Verbose. De standaardwaarde is Info.
  • piiLoggingEnabled (optioneel): als deze optie is ingesteld op waar, worden persoonlijke en organisatorische gegevens vastgelegd. Dit is standaard onwaar, zodat uw toepassing geen persoonlijke gegevens in logboeken opgeeft. Logboeken met persoonlijke gegevens worden nooit naar standaarduitvoer geschreven, zoals Console, Logcat of 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
        },
    },
};

Volgende stappen

Raadpleeg codevoorbeelden voor Microsoft Identity Platform voor meer codevoorbeelden.