Aplicativos do cliente

Biblioteca do Microsoft Authenticator (MSAL) Python dá suporte a dois tipos de aplicativos cliente: aplicativos cliente públicos e aplicativos cliente confidenciais. Os tipos de cliente são diferenciados por sua capacidade de autenticar com segurança com o servidor de autorização e manter informações confidenciais e de prova de identidade para que elas não possam ser acessadas ou conhecidas por um usuário dentro do escopo de seu acesso. Este artigo se concentra em como inicializar esses aplicativos usando Python MSAL.

Pré-requisitos

Entenda os conceitos básicos de aplicativos cliente públicos e confidenciais.

Instanciar uma aplicação

Você precisa de um registro de aplicativo para iniciar um aplicativo. Registre um aplicativo no centro de administração do Microsoft Entra. Na página de registro, você precisa:

  • O identificador do cliente do aplicativo. Essa é uma cadeia de caracteres na forma de um GUID.
  • A URL do provedor de identidade (a instância) e o público-alvo de entrada do aplicativo. Esses dois parâmetros são coletivamente conhecidos como autoridade.
  • Se necessário, será preciso informar o identificador do locatário (também um GUID), caso você esteja desenvolvendo um aplicativo de negócios restrito apenas à sua organização (também conhecido como aplicativo de locatário único).
  • Se você estiver criando um aplicativo cliente confidencial, crie um segredo do aplicativo na forma de uma cadeia de caracteres ou certificado.
  • Para aplicativos Web, defina a URL de redirecionamento que Microsoft Entra ID usa para retornar o código. Para aplicativos da área de trabalho, adicione http://localhost se você não estiver contando com agentes de autenticação.

Instanciar um aplicativo cliente público

Aplicativos cliente públicos usam a classe PublicClientApplication.

import msal

app = msal.PublicClientApplication(
    "client_id",
    authority="authority",
    )

Criar uma instância de um aplicativo cliente confidencial

Aplicativos cliente confidenciais usam a classe ConfidentialClientApplication.

import msal

app = msal.ConfidentialClientApplication(
    "client_id",
    authority="authority",
    client_credential="client_secret",
    )

Caching

Ao criar uma instância de um aplicativo cliente, há dois parâmetros que você pode usar para definir suas preferências de cache. Esses parâmetros são: token_cache e http_cache.

  • token_cache define o cache de token usado pela instância do aplicativo cliente. Por padrão, um cache na memória é criado e usado. Para obter mais informações, consulte o cache de token no Python MSAL.
  • http_cache está disponível no MSAL Python versão 1.16+. Isso armazena automaticamente em cache um certo número finito de respostas HTTP que não são de token, de modo que instâncias de longa duração de PublicClientApplication e ConfidentialClientApplication tenham melhor desempenho e sejam mais responsivas em algumas situações. Se o parâmetro http_cache não for fornecido, a MSAL usará um ditado na memória. Se seu aplicativo for um aplicativo de linha de comando (CLI), você desejará manter seu http_cache em diferentes execuções da CLI. Para obter mais informações, consulte o guia de referência.

Próximas Etapas 

Adquira tokens para seu aplicativo.