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 Microsoft Authentication Library (MSAL) 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é pour ce niveau de journalisation. Les messages de journalisation de tous les niveaux sont enregistrés.
- Critique : Journaux qui décrivent un plantage irrécupérable de l’application ou du système, 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 le débogage 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.
Note
Tous les niveaux de journalisation 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.
Journalisation MSAL pour iOS et macOS - ObjC
Définissez un rappel pour capturer la journalisation MSAL et l’incorporer dans la journalisation de votre propre application. La signature du rappel se présente comme suit :
/*!
The LogCallback block for the MSAL logger
@param level The level of the log message
@param message The message being logged
@param containsPII If the message might contain Personally Identifiable Information (PII)
this will be true. Log messages possibly containing PII will not be
sent to the callback unless PIllLoggingEnabled is set to YES on the
logger.
*/
typedef void (^MSALLogCallback)(MSALLogLevel level, NSString *message, BOOL containsPII);
Par exemple:
[MSALGlobalConfig.loggerConfig setLogCallback:^(MSALLogLevel level, NSString *message, BOOL containsPII)
{
if (!containsPII)
{
#if DEBUG
// IMPORTANT: MSAL logs may contain sensitive information. Never output MSAL logs with NSLog, or print, directly unless you're running your application in debug mode. If you're writing MSAL logs to file, you must store the file securely.
NSLog(@"MSAL log: %@", message);
#endif
}
}];
Données personnelles
Par défaut, MSAL ne capture ni ne journale aucune donnée personnelle. La bibliothèque permet aux développeurs d’applications d’activer cette fonctionnalité via une propriété dans la classe MSALLogger. En activant pii.Enabled, l’application prend en charge la gestion sécurisée des données hautement sensibles et le respect des exigences réglementaires.
// By default, the `MSALLogger` doesn't capture any PII
// PII will be logged
MSALGlobalConfig.loggerConfig.piiEnabled = YES;
// PII will NOT be logged
MSALGlobalConfig.loggerConfig.piiEnabled = NO;
Niveaux de journalisation
Pour définir le niveau de journalisation lorsque vous vous connectez à l’aide de MSAL pour iOS et macOS, utilisez l’une des valeurs suivantes :
| Niveau | Description |
|---|---|
MSALLogLevelNothing |
Désactiver toute journalisation |
MSALLogLevelError |
Niveau par défaut, imprime les informations uniquement lorsque des erreurs se produisent |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Points d’entrée de bibliothèque, avec paramètres et diverses opérations de trousseau |
MSALLogLevelVerbose |
Suivi d’API |
Par exemple:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Format du message de journal
La partie message des messages de journal MSAL est au format de TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Par exemple:
TID = 551563 MSAL 0.2.0 iOS Sim 12.0 [2018-09-24 00:36:38 - 36764181-EF53-4E4E-B3E5-16FE362CFC44] acquireToken returning with error: (MSALErrorDomain, -42400) User cancelled the authorization session.
Fournir des ID de corrélation et des horodatages sont utiles pour le suivi des problèmes. Les informations d’horodatage et d’ID de corrélation sont disponibles dans le message de journal. La seule source fiable pour les récupérer se trouve dans les messages de journalisation de MSAL.
Étapes suivantes
Pour plus d’exemples de code, reportez-vous à Plateforme d'identités Microsoft exemples de code.