Configurar o Nó MSAL

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

Pré-requisitos

Utilização

O objeto de configuração pode ser passado para o PublicClientApplication construtor. O único parâmetro de configuração necessário é o client_id da aplicação. Tudo o resto é opcional, mas pode ser necessário dependendo do seu fluxo de autenticação, do tenant e do modelo de aplicação.

O objeto de Configuração com todos os parâmetros suportados é mostrado abaixo:


// Call back APIs which automatically write and read into a .json file - example implementation
const beforeCacheAccess = async (cacheContext) => {
    cacheContext.tokenCache.deserialize(await fs.readFile(cachePath, "utf-8"));
};

const afterCacheAccess = async (cacheContext) => {
    if(cacheContext.cacheHasChanged){
        await fs.writeFile(cachePath, cacheContext.tokenCache.serialize());
    }
};

// Cache Plugin
const cachePlugin = {
    beforeCacheAccess,
    afterCacheAccess
};;

const msalConfig = {
    auth: {
        clientId: "enter_client_id_here",
        authority: "https://login.microsoftonline.com/common",
        knownAuthorities: [],
        cloudDiscoveryMetadata: "",
        azureCloudOptions: {
            azureCloudInstance: "enter_AzureCloudInstance_here" // AzureCloudInstance enum is exported as a "type",
            tenant: "enter_tenant_info" // defaults to "common"
        }
    },
    cache: {
        cachePlugin // your implementation of cache plugin
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                console.log(message);
            },
            piiLoggingEnabled: false,
            logLevel: msal.LogLevel.Verbose,
        },
    }
}

const msalInstance = new PublicClientApplication(msalConfig);

Opções

Opções de Configuração de Autenticação

Option Description Formato Valor padrão
clientId ID da aplicação da sua candidatura. Pode ser encontrado no registo da sua aplicação no centro de administração Microsoft Entra de registo de aplicações. UUID/GUID Nenhum. Este parâmetro é necessário para que a MSAL realize quaisquer ações.
authority URI do inquilino para autenticar e autorizar. Normalmente assume a forma de https://{uri}/{tenantid} String em formato URI com tenant - https://{uri}/{tenantid} https://login.microsoftonline.com/common
knownAuthorities Um conjunto de URIs que se sabe serem válidos. Usado em cenários B2C. Array de strings em formato URI Matriz vazia []
cloudDiscoveryMetadata Uma cadeia que contém a resposta de descoberta da nuvem. Usado em cenários Microsoft Entra. Consulte Performance para mais informações cadeia (de caracteres) Corda vazia ""
authorityMetadata Uma string contendo a resposta endpoint .well-known/openid-configuration. Consulte Performance para mais informações cadeia (de caracteres) Corda vazia ""
clientCapabilities Conjunto de capacidades a ser adicionado a todos os pedidos de rede como parte do xms_cc pedido de reclamações Matriz de cadeias de caracteres []
azureCloudOptions Um conjunto definido de opções de cloud Azure para os programadores poderem recorrer automaticamente às suas autoridades cloud específicas; para clouds específicas suportadas, consulte o AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Opções de Configuração de Cache

Option Description Formato Valor padrão
cachePlugin Plugin de cache com retornos de chamada para a persistência de leitura e escrita na cache (ver também: cache) ICachePlugin null

Opções de Configuração do Corretor

Option Description Formato Valor padrão
nativeBrokerPlugin Plugin de corredor para aquisição de tokens através de um corretor nativo de tokens (ver também: intermediação) INativeBrokerPlugin null

Opções de Configuração do Sistema

Option Description Formato Valor padrão
loggerOptions Objeto de configuração para logger. Veja abaixo. Veja abaixo.
NetworkClient Implementação HTTP personalizada INetworkModule HttpClient.ts
protocolMode Enum representa o modo de protocolo a utilizar. Se "AAD", funcionará nos endpoints Microsoft Entra v2; se "OIDC", funcionará nos endpoints compatíveis com OIDC. cadeia (de caracteres) "AAD"
disableInternalRetries Se for verdade, o MSAL não tentará novamente pedidos de rede falhados Booleano false

Note

No MSAL Node v5, os proxyUrl parâmetros e customAgentOptions foram removidos. Se a sua aplicação precisar de suporte de proxy, implemente um cliente HTTP personalizado usando o INetworkModule. Veja o exemplo personalizado do INetworkModule para um exemplo. O protocolMode parâmetro também foi movido da configuração de autenticação para a configuração do sistema.

Opções de Configuração do Logger

Option Description Formato Valor padrão
loggerCallback Função de callback que gere o registo das instruções MSAL. Função - loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void Ver acima.
piiLoggingEnabled Se for verdade, informações pessoais identificáveis (PII) são incluídas nos registos. Booleano false

Opções de Configuração de Telemetria

Option Description Formato Valor padrão
application Opções de telemetria para aplicações que utilizam MSAL.js Ver abaixo Ver abaixo

Telemetria de Aplicação

Option Description Formato Valor padrão
appName Nome único de cadeia de uma aplicação cadeia (de caracteres) Fio vazio ""
appVersion Versão da aplicação usando MSAL cadeia (de caracteres) Fio vazio ""

Próximas Etapas

Prossiga para compreender as APIs públicas fornecidas por msal-nodeaqui para adquirir tokens