Naplózás az MSAL.js-ben
A Microsoft Authentication Library (MSAL)-alkalmazások olyan naplóüzeneteket hoznak létre, amelyek segíthetnek a problémák diagnosztizálásában. Az alkalmazások néhány sornyi kóddal konfigurálhatják a naplózást, és egyéni vezérléssel szabályozhatják a részletesség szintjét, valamint azt, hogy a rendszer naplózza-e a személyes és szervezeti adatokat. Javasoljuk, hogy hozzon létre egy MSAL-naplózási implementációt, és biztosítson módot a felhasználók számára, hogy hitelesítési problémák esetén küldjenek naplókat.
Naplózási szintek
Az MSAL több szintű naplózási részletet biztosít:
- LogAlways: Ezen a naplószinten nem történik szintszűrés. A rendszer minden szinten naplózza az üzeneteket.
- Kritikus: Helyreállíthatatlan alkalmazást vagy rendszerösszeomlást vagy azonnali figyelmet igénylő katasztrofális hibát leíró naplók.
- Hiba: Azt jelzi, hogy hiba történt, és hiba történt. Hibakeresésre és problémák azonosítására szolgál.
- Figyelmeztetés: Nem feltétlenül volt hiba vagy hiba, de diagnosztikára és problémák rögzítésére szolgál.
- Tájékoztató: Az MSAL olyan eseményeket naplóz, amelyek nem feltétlenül hibakeresésre szolgálnak.
- Részletes (alapértelmezett): Az MSAL naplózza a kódtár viselkedésének teljes részleteit.
Feljegyzés
Nem minden naplószint érhető el az összes MSAL SDK-hoz
Személyes és szervezeti adatok
Alapértelmezés szerint az MSAL-naplózó nem rögzíti a bizalmas személyes vagy szervezeti adatokat. A kódtár lehetővé teszi a személyes és szervezeti adatok naplózását, ha úgy dönt, hogy ezt teszi.
Az alábbi szakaszok további részleteket nyújtanak az alkalmazás MSAL-hibanaplózásáról.
Naplózás konfigurálása MSAL.js
Engedélyezze a naplózást a MSAL.js (JavaScript) szolgáltatásban egy loggerOptions objektum átadásával a példány létrehozásához PublicClientApplication
szükséges konfiguráció során. Az egyetlen szükséges konfigurációs paraméter az alkalmazás ügyfélazonosítója. Minden más nem kötelező, de a bérlőtől és az alkalmazásmodelltől függően szükség lehet rá.
A loggerOptions objektum a következő tulajdonságokkal rendelkezik:
loggerCallback
: egy visszahívási függvény, amelyet a fejlesztő adhat meg az MSAL-utasítások naplózásának egyéni módon történő kezeléséhez. A függvény implementálása attólloggerCallback
függően, hogy hogyan szeretné átirányítani a naplókat. A loggerCallback függvény formátuma a következő:(level: LogLevel, message: string, containsPii: boolean): void
- A támogatott naplószintek a következők:
Error
,Warning
,Info
ésVerbose
. Az alapértelmezett értékInfo
.
- A támogatott naplószintek a következők:
piiLoggingEnabled
(nem kötelező): ha igaz értékre van állítva, naplózza a személyes és a szervezeti adatokat. Alapértelmezés szerint ez hamis, így az alkalmazás nem naplózza a személyes adatokat. A személyes adatnaplók soha nem írhatók alapértelmezett kimenetekre, például a Konzolra, a Logcatre vagy az NSLogra.
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
},
},
};
Következő lépések
További kódmintákért tekintse meg Microsoft Identitásplatform kódmintákat.