Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As aplicações Biblioteca de Autenticação da Microsoft (MSAL) geram mensagens de registo que podem ajudar a diagnosticar problemas. Uma aplicação pode configurar registos com algumas linhas de código e ter controlo personalizado sobre o nível de detalhe e se os dados pessoais e organizacionais são registados ou não. Recomendamos que crie uma implementação de registo MSAL e forneça uma forma para os utilizadores submeterem registos quando tiverem problemas de autenticação.
Níveis de registo
O MSAL fornece vários níveis de detalhe de registo:
- LogAlways: Não é feita filtragem de nível neste nível de log. As mensagens de registo de todos os níveis serão registadas.
- Crítico: Registos que descrevem uma falha de aplicação ou sistema irrecuperável, ou uma falha catastrófica que requer atenção imediata.
- Erro: Indica que algo correu mal e foi gerado um erro. Usado para depuração e identificação de problemas.
- Aviso: Não houve necessariamente um erro ou falha, mas destinam-se a diagnósticos e à identificação de problemas.
- Informativo: O MSAL regista eventos para fins informativos, não necessariamente para depuração.
- Verbose (Predefinição): o MSAL regista todos os detalhes do comportamento da biblioteca.
Note
Nem todos os níveis de log estão disponíveis para todos os SDKs MSAL
Dados pessoais e organizacionais
Por predefinição, o sistema de registo do MSAL não captura dados pessoais nem organizacionais de elevada sensibilidade. A biblioteca oferece a opção de permitir o registo de dados pessoais e organizacionais, caso assim o decida.
As secções seguintes fornecem mais detalhes sobre o registo de erros MSAL para a sua aplicação.
MSAL para iOS e macOS logging-ObjC
Defina uma função de retorno para capturar os registos do MSAL e integrá-los no sistema de registo da sua aplicação. A assinatura para o callback é a seguinte:
/*!
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 exemplo:
[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
}
}];
Dados pessoais
Por defeito, a MSAL não captura nem regista quaisquer dados pessoais. A biblioteca permite aos programadores de aplicações ativar isto através de uma propriedade na classe MSALLogger. Ao ativar pii.Enabled, a aplicação assume a responsabilidade de lidar com dados altamente sensíveis de forma segura e de cumprir os requisitos regulamentares.
// 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;
Níveis de registo
Para definir o nível de registo ao iniciar login usando MSAL para iOS e macOS, use um dos seguintes valores:
| Nível | Description |
|---|---|
MSALLogLevelNothing |
Desative todo o registo |
MSALLogLevelError |
Nível padrão, imprime informação apenas quando ocorrem erros |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Pontos de entrada da biblioteca, com parâmetros e diversas operações do porta-chaves |
MSALLogLevelVerbose |
Rastreamento de API |
Por exemplo:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Formato da mensagem de registo
A parte da mensagem dos registos do MSAL está no formato de TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Por exemplo:
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.
Fornecer IDs de correlação e marcas temporais é útil para localizar problemas. A informação de carimbo temporal e de identificação de correlação está disponível na mensagem do registo. O único lugar fiável para os recuperar é nas mensagens de registo do MSAL.
Passos seguintes
Para mais exemplos de código, consulte exemplos de código da plataforma de identidades da Microsoft.