Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications MSAL (Microsoft Authentication Library) génèrent des messages de journal qui peuvent aider à diagnostiquer les problèmes. Une application peut configurer la journalisation avec quelques lignes de code et avoir un contrôle personnalisé sur le niveau de détail et si les données personnelles et organisationnelles sont enregistrées ou non. Nous vous recommandons de créer une implémentation de journalisation MSAL et de fournir aux utilisateurs un moyen d’envoyer des journaux lorsqu’ils rencontrent des problèmes d’authentification.
Niveaux de journalisation
MSAL fournit plusieurs niveaux de détail de journalisation :
- LogAlways : Aucun filtrage de niveau n’est effectué à ce niveau de journal. Les messages de journalisation de tous les niveaux sont enregistrés.
- Critique : journaux de bord qui décrivent un crash d’application ou de système irrécupérable, ou une défaillance catastrophique nécessitant une attention immédiate.
- Erreur : indique qu’un problème s’est produit et qu’une erreur a été générée. Utilisé pour la recherche de bugs et l’identification des problèmes.
- Avertissement : Il n’y a pas nécessairement eu d’erreur ou d’échec, mais il est destiné aux diagnostics et à l’identification des problèmes.
- Information : MSAL journalise les événements destinés à fournir des informations et pas nécessairement destinés au débogage.
- Commentaire (par défaut) : MSAL journalise les détails complets du comportement de la bibliothèque.
Remarque
Tous les niveaux de journal ne sont pas disponibles pour tous les SDK MSAL
Données personnelles et organisationnelles
Par défaut, l’enregistreur d’événements MSAL ne capture pas de données personnelles ou organisationnelles hautement sensibles. La bibliothèque offre la possibilité d’activer la journalisation des données personnelles et organisationnelles si vous décidez de le faire.
Les sections suivantes fournissent plus de détails sur la journalisation des erreurs MSAL pour votre application.
Configurer la journalisation dans MSAL.js
Activez la journalisation dans MSAL.js (JavaScript) en transmettant un objet loggerOptions pendant la configuration pour la création d’une PublicClientApplication instance. Le seul paramètre de configuration requis est l’ID client de l’application. Tout le reste est facultatif, mais peut être nécessaire en fonction de votre client et de votre modèle d’application.
L’objet loggerOptions a les propriétés suivantes :
loggerCallback: fonction de rappel qui peut être fournie par le développeur pour gérer la journalisation des instructions MSAL de manière personnalisée. Implémentez la fonctionloggerCallbackde la façon dont vous souhaitez rediriger les journaux. La fonction loggerCallback a le format suivant(level: LogLevel, message: string, containsPii: boolean): void- Les niveaux de journal pris en charge sont les suivants :
Error,Warning,InfoetVerbose. La valeur par défaut estInfo.
- Les niveaux de journal pris en charge sont les suivants :
piiLoggingEnabled(facultatif) : si la valeur est true, enregistre les données personnelles et organisationnelles. Par défaut, cette valeur est false pour que votre application ne journale pas les données personnelles. Les journaux de données personnelles ne sont jamais écrits dans les sorties par défaut telles que Console, Logcat ou 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
},
},
};
Étapes suivantes
Pour plus d’exemples de code, reportez-vous aux exemples de code de la plateforme d’identités Microsoft.