Rejestrowanie w bibliotece MSAL.js
Aplikacje biblioteki Microsoft Authentication Library (MSAL) generują komunikaty dziennika, które mogą pomóc w diagnozowaniu problemów. Aplikacja może skonfigurować rejestrowanie przy użyciu kilku wierszy kodu i mieć niestandardową kontrolę nad poziomem szczegółowości oraz informacją, czy są rejestrowane dane osobiste i organizacyjne. Zalecamy utworzenie implementacji rejestrowania biblioteki MSAL i zapewnienie użytkownikom możliwości przesyłania dzienników w przypadku problemów z uwierzytelnianiem.
Poziomy rejestrowania
Biblioteka MSAL udostępnia kilka poziomów szczegółów rejestrowania:
- LogAlways: filtrowanie na poziomie nie jest wykonywane na tym poziomie dziennika. Komunikaty dziennika wszystkich poziomów zostaną zarejestrowane.
- Krytyczne: dzienniki, które opisują nieodwracalną awarię aplikacji lub systemu albo katastrofalną awarię, która wymaga natychmiastowej uwagi.
- Błąd: wskazuje, że wystąpił problem i został wygenerowany błąd. Służy do debugowania i identyfikowania problemów.
- Ostrzeżenie: Niekoniecznie wystąpił błąd lub błąd, ale są przeznaczone do diagnostyki i ustalania problemów.
- Informacje: biblioteka MSAL będzie rejestrować zdarzenia przeznaczone do celów informacyjnych niekoniecznie przeznaczone do debugowania.
- Pełne (ustawienie domyślne): biblioteka MSAL rejestruje pełne szczegóły zachowania biblioteki.
Uwaga
Nie wszystkie poziomy dziennika są dostępne dla wszystkich zestawów MSAL SDK
Dane osobowe i organizacyjne
Domyślnie rejestrator BIBLIOTEKI MSAL nie przechwytuje żadnych wysoce poufnych danych osobowych ani organizacyjnych. Biblioteka udostępnia opcję włączania rejestrowania danych osobistych i organizacyjnych, jeśli zdecydujesz się to zrobić.
Poniższe sekcje zawierają więcej szczegółowych informacji na temat rejestrowania błędów biblioteki MSAL dla aplikacji.
Konfigurowanie rejestrowania w MSAL.js
Włącz rejestrowanie w MSAL.js (JavaScript) przez przekazanie obiektu loggerOptions podczas konfigurowania PublicClientApplication
tworzenia wystąpienia. Jedynym wymaganym parametrem konfiguracji jest identyfikator klienta aplikacji. Wszystko inne jest opcjonalne, ale może być wymagane w zależności od dzierżawy i modelu aplikacji.
Obiekt loggerOptions ma następujące właściwości:
loggerCallback
: funkcja wywołania zwrotnego, która może być udostępniana przez dewelopera w celu obsługi rejestrowania instrukcji BIBLIOTEKI MSAL w niestandardowy sposób. ZaimplementujloggerCallback
funkcję w zależności od sposobu przekierowywania dzienników. Funkcja loggerCallback ma następujący format(level: LogLevel, message: string, containsPii: boolean): void
- Obsługiwane poziomy dziennika to:
Error
, ,Warning
Info
iVerbose
. Wartość domyślna toInfo
.
- Obsługiwane poziomy dziennika to:
piiLoggingEnabled
(opcjonalnie): jeśli ustawiono wartość true, rejestruje dane osobowe i organizacyjne. Domyślnie jest to wartość false, aby aplikacja nie rejestrowała danych osobowych. Dzienniki danych osobowych nigdy nie są zapisywane w domyślnych danych wyjściowych, takich jak Console, Logcat lub 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
},
},
};
Następne kroki
Aby uzyskać więcej przykładów kodu, zapoznaj się z przykładami kodu Platforma tożsamości Microsoft.