Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le app Libreria di Autenticazione Microsoft (MSAL) generano messaggi di log che consentono di diagnosticare i problemi. Un'app può configurare la registrazione con alcune righe di codice e avere un controllo personalizzato sul livello di dettaglio e se i dati personali e dell'organizzazione vengono registrati o meno. È consigliabile creare un'implementazione della registrazione MSAL e fornire agli utenti un modo per inviare i log in caso di problemi di autenticazione.
Livelli di registrazione
MSAL offre diversi livelli di dettaglio della registrazione:
- LogAlways: nessun filtro a livello viene eseguito a questo livello di log. Verranno registrati i messaggi di log di tutti i livelli.
- Critico: log che descrivono un arresto anomalo non recuperabile dell'applicazione o del sistema, oppure un guasto catastrofico che richiede attenzione immediata.
- Errore: indica che si è verificato un problema e che è stato generato un errore. Usato per il debug e l'identificazione dei problemi.
- Avviso: non si è necessariamente verificato un errore o un guasto, ma questi elementi sono destinati alla diagnosi e all'individuazione dei problemi.
- Informativo: MSAL registra gli eventi destinati a scopi informativi non necessariamente destinati al debug.
- Dettagliato (impostazione predefinita): MSAL registra tutti i dettagli del comportamento della libreria.
Note
Non tutti i livelli di log sono disponibili per tutti gli SDK MSAL
Dati personali e aziendali
Per impostazione predefinita, il logger MSAL non acquisisce dati personali o aziendali estremamente sensibili. La libreria offre la possibilità di abilitare la registrazione dei dati personali e dell'organizzazione se si decide di farlo.
Le sezioni seguenti forniscono altri dettagli sulla registrazione degli errori MSAL per l'applicazione.
MSAL per iOS e macOS logging-ObjC
Configura un callback per acquisire il logging di MSAL e integrarlo nel sistema di logging della tua applicazione. La firma per il callback è simile alla seguente:
/*!
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);
Per esempio:
[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
}
}];
Dati personali
Per impostazione predefinita, MSAL non acquisisce o registra dati personali. La libreria consente agli sviluppatori di app di attivare questa funzionalità tramite una proprietà nella classe MSALLogger. Attivando pii.Enabled, l'app assume la responsabilità di gestire in modo sicuro i dati altamente sensibili e i requisiti normativi seguenti.
// 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;
Livelli di registrazione
Per impostare il livello di registrazione quando si esegue la registrazione con MSAL per iOS e macOS, usare uno dei valori seguenti:
| Level | Description |
|---|---|
MSALLogLevelNothing |
Disabilitare tutte le registrazioni |
MSALLogLevelError |
Livello predefinito, stampa le informazioni solo quando si verificano errori |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Punti di ingresso della libreria, con parametri e varie operazioni del portachiavi |
MSALLogLevelVerbose |
Tracciamento API |
Per esempio:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Formato del messaggio di log
La parte del messaggio dei messaggi di log MSAL è nel formato di TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Per esempio:
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.
Fornire ID di correlazione e timestamp sono utili per tenere traccia dei problemi. Il timestamp e le informazioni sull'ID di correlazione sono disponibili nel messaggio di log. L'unica posizione affidabile per recuperarle è dai messaggi di registrazione MSAL.
Passaggi successivi
Per altri esempi di codice, vedere Microsoft Identity Platform esempi di codice.