Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las aplicaciones de Biblioteca de autenticación de Microsoft (MSAL) generan mensajes de registro que pueden ayudar a diagnosticar problemas. Una aplicación puede configurar el registro con algunas líneas de código y tener control personalizado sobre el nivel de detalle y si se registran o no datos personales y de la organización. Se recomienda crear una implementación de registro de MSAL y proporcionar una manera de que los usuarios envíen registros cuando tengan problemas de autenticación.
Niveles de registro
MSAL proporciona varios niveles de detalle de registro:
- LogAlways: no se realiza ningún filtrado de nivel en este nivel de registro. Los mensajes de registro de todos los niveles se registrarán.
- Crítico: registros que describen un bloqueo irrecuperable de la aplicación o del sistema, o un fallo catastrófico que requiere atención inmediata.
- Error: indica que algo ha ido mal y se generó un error. Se usa para depurar e identificar problemas.
- Advertencia: no necesariamente se ha producido un error o un fallo, pero sirve para fines de diagnóstico y para localizar problemas.
- Informativo: MSAL registrará los eventos de carácter informativo, no relacionados necesariamente con la depuración.
- Detallado (valor predeterminado): MSAL registra los detalles completos del comportamiento de la biblioteca.
Note
No todos los niveles de registro están disponibles para todos los SDK de MSAL
Datos personales y organizativos
De forma predeterminada, el registrador de MSAL no captura ningún dato personal o organizativo altamente confidencial. La biblioteca proporciona la opción de habilitar el registro de datos personales y organizativos si decide hacerlo.
En las secciones siguientes se proporcionan más detalles sobre el registro de errores de MSAL para la aplicación.
Registro de MSAL para iOS y macOS: ObjC
Establezca una devolución de llamada para capturar el registro de MSAL e incorporarlo al registro de su propia aplicación. La firma de la devolución de llamada tiene el siguiente aspecto:
/*!
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);
Por ejemplo:
[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
}
}];
Datos personales
De forma predeterminada, MSAL no captura ni registra ningún dato personal. La biblioteca permite a los desarrolladores de aplicaciones activar esto a través de una propiedad en la clase MSALLogger. Al activar pii.Enabled, la aplicación asume la responsabilidad de controlar de forma segura los datos altamente confidenciales y seguir los requisitos normativos.
// 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;
Niveles de registro
Para establecer el nivel de registro al iniciar sesión con MSAL para iOS y macOS, use uno de los valores siguientes:
| Level | Description |
|---|---|
MSALLogLevelNothing |
Deshabilitar todo el registro |
MSALLogLevelError |
Nivel predeterminado, imprime información solo cuando se producen errores. |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Puntos de entrada de la biblioteca, con parámetros y varias operaciones de llavero. |
MSALLogLevelVerbose |
Seguimiento de API |
Por ejemplo:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Formato del mensaje de registro
La parte del mensaje de los mensajes de registro de MSAL tiene el formato de TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Por ejemplo:
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.
Proporcionar identificadores de correlación y marcas de tiempo son útiles para rastrear problemas. La marca de tiempo y la información del identificador de correlación están disponibles en el mensaje de registro. El único lugar fiable para obtenerlos son los mensajes de registro de MSAL.
Pasos siguientes
Para obtener más ejemplos de código, consulte Plataforma de identidad de Microsoft ejemplos de código.