Registo de atividade no MSAL.js

Este artigo apresenta uma visão geral dos diferentes tipos de erros e recomendações para lidar com erros comuns de iniciação de sessão.

Noções básicas de gestão de erros MSAL

As exceções na Biblioteca de Autenticação da Microsoft (MSAL) destinam-se aos programadores de aplicações para resolver problemas, não para serem exibidas aos utilizadores finais. As mensagens de exceção não são localizadas.

Ao processar exceções e erros, pode usar o próprio tipo de exceção e o código de erro para distinguir entre exceções. Para uma lista de códigos de erro, consulte códigos de erro de autenticação e autorização Microsoft Entra.

Durante a experiência de login, pode encontrar erros sobre consentimentos, Acesso Condicional (MFA, Gestão de Dispositivos, restrições baseadas na localização), emissão e resgate de tokens, e propriedades dos utilizadores.

A secção seguinte fornece mais detalhes sobre o tratamento de erros na sua aplicação.

Configurar o login MSAL.js

Ative o registo no MSAL.js (JavaScript) ao passar um objeto loggerOptions durante a configuração para criar uma instância PublicClientApplication. O único parâmetro de configuração necessário é o ID do cliente da aplicação. Tudo o resto é opcional, mas pode ser obrigatório dependendo do inquilino e do modelo de candidatura.

O objeto loggerOptions tem as seguintes propriedades:

  • loggerCallback: uma função de callback que pode ser fornecida pelo desenvolvedor para processar o registo das mensagens do MSAL de forma personalizada. Implementa a loggerCallback função dependendo de como queres redirecionar os registos. A função loggerCallback tem o seguinte formato (level: LogLevel, message: string, containsPii: boolean): void
    • Os níveis logarítmicos suportados são: Error, Warning, Info, e Verbose. A predefinição é Info.
  • piiLoggingEnabled (opcional): se definido como true, regista dados pessoais e organizacionais. Por defeito, isto é falso, por isso a sua aplicação não regista dados pessoais. Os registos de dados pessoais nunca são escritos em saídas predefinidas 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
        },
    },
};

Passos seguintes

Para mais exemplos de código, consulte exemplos de código da plataforma de identidades da Microsoft.