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 fluxos de autenticação. Essas opções podem ser definidas no construtor do objeto PublicClientApplication ou como parte das APIs de solicitação. Aqui, descrevemos o objeto de configuração que pode ser passado para o construtor PublicClientApplication .

Pré-requisitos

Usage

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

O objeto Configuration com todos os parâmetros com suporte é 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

Opção Description Formato Valor Padrão
clientId ID do aplicativo. Pode ser encontrado no registro do aplicativo no registro do aplicativo centro de administração do Microsoft Entra. 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. Consulte Desempenho para obter mais informações cadeia Cadeia de caracteres vazia ""
authorityMetadata Uma cadeia de caracteres que contém a resposta do ponto de extremidade .well-known/openid-configuration. Consulte Desempenho para obter mais informações cadeia Cadeia de caracteres vazia ""
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, para nuvens específicas com suporte, consulte o AzureCloudInstance AzureCloudOptions AzureCloudInstance.None

Opções de configuração de cache

Opção Description Formato Valor Padrão
cachePlugin Plug-in de cache com retornos de chamada para leitura e gravação na persistência do cache (consulte também: cache) ICachePlugin nulo

Opções de Configuração do Agente

Opção Description Formato Valor Padrão
nativeBrokerPlugin Plug-in do agente para aquisição de tokens por meio de um agente de token nativo (consulte também: brokering) INativeBrokerPlugin nulo

Opções de Configuração do Sistema

Opção Description Formato Valor Padrão
loggerOptions Objeto Config para agente. Veja abaixo. Veja abaixo.
NetworkClient Implementação de HTTP personalizada INetworkModule HttpClient.ts
protocolMode Enumeração que representa o modo de protocolo a ser usado. Se "AAD", funcionará nos pontos de extremidade Microsoft Entra v2; se "OIDC", funcionará em pontos de extremidade compatíveis com OIDC. cadeia "AAD"
disableInternalRetries Se for true, a MSAL não tentará novamente solicitações de rede com falha boolean false

Note

No msal node v5, os parâmetros e es proxyUrl foram customAgentOptions removidos. Se o aplicativo exigir suporte a proxy, implemente um cliente HTTP personalizado usando INetworkModule. Consulte o exemplo de INetworkModule personalizado para obter 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 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 telemetria

Opção Description Formato Valor Padrão
application Opções de telemetria para aplicativos que usam MSAL.js Veja abaixo Veja abaixo

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 ""

Próximas etapas

Continue a entender as APIs públicas fornecidas msal-node para aquisição de tokens aqui