Opções de configuração de autenticação

Antes de começar aqui, certifique-se de entender como inicializar um objeto de aplicativo.

A biblioteca MSAL tem um conjunto de opções de configuração que podem ser usadas para personalizar o comportamento dos fluxos de autenticação. Essas opções podem ser definidas no construtor do PublicClientApplication objeto ou como parte das APIs de solicitação. Aqui, descrevemos o objeto de configuração que pode ser passado para o PublicClientApplication construtor.

Usando o objeto de configuração

O objeto de configuração tem a estrutura a seguir e pode ser passado para o PublicClientApplication construtor. O único parâmetro de configuração necessário é a ID do cliente do aplicativo. Todo o resto é opcional, mas pode ser necessário dependendo do seu locatário e modelo de aplicativo.

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",
    },
    system: {
        loggerOptions: {
            loggerCallback: (
                level: LogLevel,
                message: string,
                containsPii: boolean
            ): void => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        console.error(message);
                        return;
                    case LogLevel.Info:
                        console.info(message);
                        return;
                    case LogLevel.Verbose:
                        console.debug(message);
                        return;
                    case LogLevel.Warning:
                        console.warn(message);
                        return;
                }
            },
            piiLoggingEnabled: false,
        },
        windowHashTimeout: 60000,
        iframeHashTimeout: 6000,
        loadFrameTimeout: 0,
        protocolMode: "AAD"
    },
    telemetry: {
        application: {
            appName: "My Application",
            appVersion: "1.0.0",
        },
    },
};

const msalInstance = new PublicClientApplication(msalConfig);

Opções de configuração

Opções de configuração de autenticação

Opção Description Formato Valor Padrão
clientId ID do aplicativo. Pode ser encontrado no painel de registro do aplicativo portal do Azure UUID/GUID None. Esse parâmetro é necessário para que a MSAL execute qualquer ação.
authority URI do locatário com o qual autenticar e autorizar. Normalmente, assume a forma de https://{uri}/{tenantid} Cadeia de caracteres no formato URI com locatário – https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Uma matriz de URIs que são conhecidas como válidas. Usado em cenários B2C. Matriz de cadeias de caracteres no formato URI Matriz vazia []
cloudDiscoveryMetadata Uma cadeia de caracteres que contém a resposta de descoberta de nuvem. Usado em cenários de Microsoft Entra. cadeia Cadeia de caracteres vazia ""
authorityMetadata Uma cadeia de caracteres que contém a resposta do ponto de extremidade .well-known/openid-configuration. cadeia Cadeia de caracteres vazia ""
redirectUri URI para o qual a resposta do código de autorização é enviada de volta. Qualquer local especificado aqui deve ter a biblioteca MSAL disponível para lidar com a resposta. Cadeia de caracteres no formato URI absoluto ou relativo Página solicitação de logon (window.location.href da página que fez a solicitação de autenticação)
postLogoutRedirectUri URI que é redirecionado depois que uma chamada logout() é feita. Cadeia de caracteres no formato URI absoluto ou relativo. Passe null para desabilitar o redirecionamento pós-logoff. Página solicitação de logon (window.location.href da página que fez a solicitação de autenticação)
navigateToLoginRequestUrl Se true, navegará de volta para o local da solicitação original antes de processar a resposta do código de autorização. Se for o redirectUri mesmo que o local da solicitação original, esse sinalizador deverá ser definido como false. boolean true
clientCapabilities Matriz de recursos a serem adicionados a todas as solicitações de rede como parte da solicitação xms_cc de declarações Matriz de cadeias de caracteres []
azureCloudOptions Um conjunto definido de opções de nuvem do Azure para desenvolvedores usarem como padrão suas autoridades de nuvem específicas. AzureCloudOptions AzureCloudInstance.None
skipAuthorityMetadataCache Um sinalizador para escolher se deseja usar o cache de metadados local durante a inicialização da autoridade. O cache de metadados será usado se nenhum metadados de autoridade for fornecido e antes de uma chamada de rede para metadados ser feita. boolean false
onRedirectNavigate Um retorno de chamada passado pela MSAL da URL navegará para os fluxos de redirecionamento. false Retornar no retorno de chamada interrompe a navegação. Função- (url: string) => boolean \| void undefined
instanceAware Um sinalizador que indica se o STS deve enviar parâmetros adicionais para especificar de onde os tokens devem ser recuperados. boolean false
isMcp Se true, um resource parâmetro é necessário em todas as solicitações de token. Usado para fluxos do PROTOCOLO MCP (Model Context Protocol). boolean false

Opções de configuração de cache

Opção Description Formato Valor Padrão
cacheLocation Local do cache de token no navegador. Valor da cadeia de caracteres que deve ser um dos seguintes: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
temporaryCacheLocation (Preterido) Local do cache temporário no navegador. Essa opção só deve ser alterada para casos de borda específicos. Para obter mais informações, consulte cache. Valor da cadeia de caracteres que deve ser um dos seguintes: "sessionStorage", , "localStorage""memoryStorage" sessionStorage
storeAuthStateInCookie (Preterido) Se for true, armazenará itens de cache em cookies, bem como no cache do navegador. Foi usado anteriormente para Internet Explorer compatibilidade. boolean false
secureCookies (Preterido) Se for true e storeAuthStateInCookie também estiver habilitado, a MSAL adicionará o Secure sinalizador ao cookie do navegador para que ele só possa ser enviado por HTTPS. boolean false
cacheMigrationEnabled Se for true, as entradas de cache de versões mais antigas da MSAL serão atualizadas para estar em conformidade com o esquema de cache mais recente na inicialização. Se o aplicativo não tiver sido atualizado recentemente para uma nova versão do MSAL.js, você poderá desativar isso com segurança. Se as entradas de cache antigas não forem migradas, isso poderá resultar em uma falha de cache ao tentar recuperar contas ou tokens e os usuários afetados talvez precisem se autenticar novamente para se atualizarem. boolean true ao usar localStorage, false caso contrário
claimsBasedCachingEnabled Se true, os tokens de acesso são armazenados em cache sob uma chave que contém o hash da cadeia de caracteres de declarações solicitada, resultando em uma falha de cache e nova solicitação de token de rede quando a mesma solicitação de token é feita com declarações diferentes ou ausentes. Se definido como false, os tokens são armazenados em cache sem declarações, mas todas as solicitações que contêm declarações vão para a rede e substituem qualquer token armazenado em cache anteriormente com os mesmos escopos. boolean false

Note

A temporaryCacheLocation opção foi preterida nas versões recentes do MSAL Browser e pode ser removida em uma versão principal futura. Você não deve confiar nessa opção para novas implementações.

Note

As storeAuthStateInCookie opções e secureCookies as opções foram preteridas em versões recentes do MSAL Browser. Essas opções foram usadas principalmente para Internet Explorer compatibilidade, que não tem mais suporte. Eles podem ser removidos em uma versão principal futura.

Consulte o cache no MSAL para obter mais informações.

Opções de Configuração do Sistema

Opção Description Formato Valor Padrão
loggerOptions Objeto Config para agente. Veja abaixo. Veja abaixo.
windowHashTimeout Tempo limite em milissegundos para aguardar a resolução das operações pop-up. inteiro (milissegundos) 60000
iframeHashTimeout Tempo limite em milissegundos para aguardar a resolução das operações de iframe. inteiro (milissegundos) 6000
loadFrameTimeout Tempo limite em milissegundos para aguardar a resolução das operações iframe/popup. Se fornecido, definirá valores padrão para windowHashTimeout e iframeHashTimeout. inteiro (milissegundos) undefined
navigateFrameWait Atraso em milissegundos para aguardar o iframe ser carregado na janela. inteiro (milissegundos) No IE ou no Edge: 500, em todos os outros navegadores: 0
asyncPopups (Preterido — use navigatePopups em vez disso.) Define se os pop-ups são abertos de forma assíncrona. Quando definido como false, pop-ups em branco são abertos antes que qualquer outra coisa aconteça. Quando definido como true, pop-ups são abertos ao fazer a solicitação de rede. boolean false
navigatePopups Define se os pop-ups são abertos e navegados para mais tarde. Quando definido como true, pop-ups em branco são abertos e, em seguida, navegam até o domínio de logon. Quando definido como false, pop-ups são abertos diretamente para o domínio de logon. Isso pode ser definido false para cenários em about:blank que não há suporte, como aplicativos da área de trabalho ou aplicativos Web progressivos. boolean true
allowRedirectInIframe Por padrão, a MSAL não permite que as operações de redirecionamento sejam iniciadas quando o aplicativo estiver dentro de um iframe. Defina esse sinalizador para true remover essa verificação. boolean false
cryptoOptions Objeto Config para operações de criptografia no navegador. Ver opções de configuração de criptografia Ver opções de configuração de criptografia
pollIntervalMilliseconds Intervalo de tempo em milissegundos entre pesquisas de hash de URL pop-up durante a autenticação. inteiro (milissegundos) 30
protocolMode Enumeração que representa o modo de protocolo a ser usado. If "AAD", MSAL functions on the OIDC-compliant AAD v2 endpoints; if "OIDC", it functions on other OIDC-compliant endpoints. cadeia "AAD"

Opções de Configuração do Agente

Opção Description Formato Valor Padrão
loggerCallback Função de retorno de chamada que manipula o registro em log de instruções MSAL. Função- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Veja acima.
piiLoggingEnabled Se for true, as informações de identificação pessoal (PII) serão incluídas nos logs. boolean false

Opções de configuração de criptografia

Opção Description Formato Valor Padrão
useMsrCrypto Se usar o MSR Crypto se estiver disponível no navegador (e outras interfaces de criptografia não estiverem disponíveis). boolean false
entropy Valores aleatórios criptograficamente fortes usados para propagar a criptografia MSR (por exemplo, crypto.randomBytes(48) do Nó). É recomendável ter 48 bits de entropia. Obrigatório se useMsrCrypto estiver habilitado. Uint8Array undefined

Opções de configuração de telemetria

Opção Description Formato Valor Padrão
application Opções de telemetria para aplicativos que usam MSAL.js Veja abaixo Veja abaixo
client Instância do cliente de desempenho de telemetria IPerformanceClient StubPerformanceClient

Telemetria do Aplicativo

Opção Description Formato Valor Padrão
appName Nome de cadeia de caracteres exclusivo de um aplicativo cadeia Cadeia de caracteres vazia ""
appVersion Versão do aplicativo usando MSAL cadeia Cadeia de caracteres vazia ""