Loggning in MSAL.js

MSAL-appar (Microsoft Authentication Library) genererar loggmeddelanden som kan hjälpa dig att diagnostisera problem. En app kan konfigurera loggning med några rader kod och ha anpassad kontroll över detaljnivån och om personliga data och organisationsdata loggas eller inte. Vi rekommenderar att du skapar en MSAL-loggningsimplementering och tillhandahåller ett sätt för användare att skicka loggar när de har autentiseringsproblem.

Loggningsnivåer

MSAL innehåller flera nivåer av loggningsinformation:

  • LogAlways: Ingen nivåfiltrering görs på den här loggnivån. Loggmeddelanden på alla nivåer loggas.
  • Kritisk: Loggar som beskriver ett oåterkalleligt program eller en systemkrasch, eller ett oåterkalleligt fel som kräver omedelbar uppmärksamhet.
  • Fel: Anger att något har gått fel och att ett fel har genererats. Används för att felsöka och identifiera problem.
  • Varning! Det har inte nödvändigtvis förekommit ett fel eller fel, men är avsedda för diagnostik och hitta problem.
  • Information: MSAL loggar händelser som är avsedda för informationsändamål som inte nödvändigtvis är avsedda för felsökning.
  • Utförligt (standard): MSAL loggar fullständig information om biblioteksbeteendet.

Kommentar

Alla loggnivåer är inte tillgängliga för alla MSAL SDK:s

Personliga och organisatoriska data

Som standard samlar MSAL-loggaren inte in några mycket känsliga personliga data eller organisationsdata. Biblioteket ger möjlighet att aktivera loggning av personliga data och organisationsdata om du bestämmer dig för att göra det.

Följande avsnitt innehåller mer information om MSAL-felloggning för ditt program.

Konfigurera loggning i MSAL.js

Aktivera loggning i MSAL.js (JavaScript) genom att skicka ett loggerOptions-objekt under konfigurationen för att skapa en PublicClientApplication instans. Den enda obligatoriska konfigurationsparametern är programmets klient-ID. Allt annat är valfritt, men kan krävas beroende på klientorganisation och programmodell.

Objektet loggerOptions har följande egenskaper:

  • loggerCallback: en återanropsfunktion som kan tillhandahållas av utvecklaren för att hantera loggning av MSAL-instruktioner på ett anpassat sätt. loggerCallback Implementera funktionen beroende på hur du vill omdirigera loggar. Funktionen loggerCallback har följande format (level: LogLevel, message: string, containsPii: boolean): void
    • Loggnivåerna som stöds är: Error, Warning, Infooch Verbose. Standardvärdet är Info.
  • piiLoggingEnabled (valfritt): om värdet är true loggar personliga data och organisationsdata. Som standard är detta falskt så att programmet inte loggar personliga data. Personliga dataloggar skrivs aldrig till standardutdata som Konsol, Logcat eller 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
        },
    },
};

Nästa steg

Fler kodexempel finns i Microsofts identitetsplattform kodexempel.