Partilhar via


Registos no MSAL.js

Os aplicativos da Biblioteca de Autenticação da Microsoft (MSAL) geram mensagens de log que podem ajudar a diagnosticar problemas. Um aplicativo pode configurar o registro em log com algumas linhas de código e ter controle personalizado sobre o nível de detalhe e se os dados pessoais e organizacionais são ou não registrados. Recomendamos que você crie uma implementação de log MSAL e forneça uma maneira para os usuários enviarem logs quando tiverem problemas de autenticação.

Níveis de registo

O MSAL fornece vários níveis de detalhes de registro:

  • LogAlways: Nenhuma filtragem de nível é feita neste nível de log. Mensagens de log de todos os níveis serão registradas.
  • Crítico: logs que descrevem uma falha irrecuperável do aplicativo ou do sistema, ou uma falha catastrófica que requer atenção imediata.
  • Erro: indica que algo deu errado e um erro foi gerado. 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 registrará eventos destinados a fins informativos não necessariamente destinados à depuração.
  • Detalhado (padrão): o MSAL registra todos os detalhes do comportamento da biblioteca.

Nota

Nem todos os níveis de log estão disponíveis para todos os SDKs do MSAL

Dados pessoais e organizacionais

Por padrão, o registrador MSAL não captura nenhum dado pessoal ou organizacional altamente sensível. A biblioteca oferece a opção de habilitar o registro de dados pessoais e organizacionais se você decidir fazê-lo.

As seções a seguir fornecem mais detalhes sobre o log de erros MSAL para seu aplicativo.

Configurar o login MSAL.js

Habilite o login no MSAL.js (JavaScript) passando um objeto loggerOptions durante a configuração para criar uma PublicClientApplication instância. O único parâmetro de configuração necessário é o ID do cliente do aplicativo. Todo o resto é opcional, mas pode ser necessário dependendo do seu inquilino e modelo de aplicação.

O objeto loggerOptions tem as seguintes propriedades:

  • loggerCallback: uma função de retorno de chamada que pode ser fornecida pelo desenvolvedor para lidar com o registro de instruções MSAL de maneira personalizada. Implemente a função dependendo de loggerCallback como você deseja redirecionar logs. A função loggerCallback tem o seguinte formato: (level: LogLevel, message: string, containsPii: boolean): void
    • Os níveis de log suportados são: Error, Warning, Infoe Verbose. A predefinição é Info.
  • piiLoggingEnabled (opcional): se definido como true, registra dados pessoais e organizacionais. Por padrão, isso é falso para que seu aplicativo não registre dados pessoais. Os logs de dados pessoais nunca são gravados em saídas padrão, como 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
        },
    },
};

Próximos passos

Para obter mais exemplos de código, consulte Exemplos de código da plataforma de identidade da Microsoft.