ConfidentialClientApplication Classe
O mesmo que <xref:ClientApplication.__init__>, exceto que o allow_broker parâmetro deve permanecer None.
Crie uma instância do aplicativo.
Construtor
ConfidentialClientApplication(client_id, client_credential=None, authority=None, validate_authority=True, token_cache=None, http_client=None, verify=True, proxies=None, timeout=None, client_claims=None, app_name=None, app_version=None, client_capabilities=None, azure_region=None, exclude_scopes=None, http_cache=None, instance_discovery=None, allow_broker=None, enable_pii_log=None, oidc_authority=None)
Parâmetros
| Nome | Description |
|---|---|
|
client_id
Obrigatório
|
Seu aplicativo tem um client_id depois de registrá-lo no centro de administração do Microsoft Entra. |
|
client_credential
|
Para PublicClientApplication, você usa Nenhum aqui. Para ConfidentialClientApplication, ele dá suporte a muitos formatos de entrada diferentes para cenários diferentes. Suporte ao uso de um segredo do cliente. Basta alimentar em uma cadeia de caracteres, como
|
|
client_claims
|
Adicionado na versão 0.5.0: é um dicionário de declarações extras que seriam assinadas por essa ConfidentialClientApplication chave privada. Por exemplo, você pode usar {"client_ip": "x.x.x.x"}. Você também pode substituir qualquer uma das seguintes declarações padrão:
Valor padrão: None
|
|
authority
|
Uma URL que identifica uma autoridade de token. Deve ser do formato
Alterado na versão 1.17: você também pode usar a constante predefinida e um construtor como este:
Valor padrão: None
|
|
validate_authority
|
(opcional) Ativa ou desativa a validação de autoridade. Esse parâmetro é padrão como true. Valor padrão: True
|
|
token_cache
|
Define o cache de token usado por esta instância clientApplication. Por padrão, um cache na memória será criado e usado. Valor padrão: None
|
|
http_client
|
(opcional) Sua implementação da classe abstrata HttpClient <msal.oauth2cli.http.http_client> Padrões para uma instância de sessão de solicitações. Como MSAL 1.11.0, a sessão padrão seria configurada para tentar uma nova tentativa de erro de conexão. Se você estiver fornecendo seu próprio http_client, será dever do seu http_client decidir se deseja executar novamente. Valor padrão: None
|
|
verify
|
(opcional) Ele será passado para o parâmetro de verificação na biblioteca de solicitações subjacentes Isso não se aplica se você optou por passar seu próprio cliente Http Valor padrão: True
|
|
proxies
|
(opcional) Ele será passado para o parâmetro proxies na biblioteca de solicitações subjacentes Isso não se aplica se você tiver escolhido passar seu próprio cliente Http Valor padrão: None
|
|
timeout
|
(opcional) Ele será passado para o parâmetro de tempo limite na biblioteca de solicitações subjacentes Isso não se aplica se você optou por passar seu próprio cliente Http Valor padrão: None
|
|
app_name
|
(opcional) Você pode fornecer o nome do aplicativo para fins de telemetria Microsoft. O valor padrão é None, significa que ele não será passado para Microsoft. Valor padrão: None
|
|
app_version
|
(opcional) Você pode fornecer a versão do aplicativo para fins de telemetria Microsoft. O valor padrão é None, significa que ele não será passado para Microsoft. Valor padrão: None
|
|
client_capabilities
|
(opcional) Permite a configuração de um ou mais recursos de cliente, por exemplo, ["CP1"]. A funcionalidade do cliente destina-se a informar ao plataforma de identidade da Microsoft (STS) para o qual esse cliente é capaz, para que o STS possa decidir ativar determinados recursos. Por exemplo, se o cliente for capaz de lidar com o desafio de declarações, o STS poderá emitir tokens de acesso da CAE (Avaliação Contínua de Acesso) aos recursos, sabendo que quando o recurso emitir um desafio de declarações , o cliente poderá lidar com esses desafios. Detalhes da implementação: a funcionalidade do cliente é implementada usando o parâmetro "declarações" no fio, por enquanto. A MSAL irá combiná-las no parâmetro de declarações que você fornecerá posteriormente por meio de uma das solicitações de token de aquisição. Valor padrão: None
|
|
azure_region
|
(opcional) Instrui a MSAL a usar o serviço de token regional do Entra. Esse recurso herdado só está disponível para aplicativos de primeira parte. Há suporte apenas para Dá suporte a 4 valores:
Note A descoberta automática de região foi testada em VMs e em Azure Functions. Não é confiável. Os aplicativos que usam essa opção devem configurar um curto tempo limite. Para obter mais detalhes e para os valores da cadeia de caracteres de região ver https://learn.microsoft.com/entra/msal/dotnet/resources/region-discovery-troubleshooting Novo na versão 1.12.0. Valor padrão: None
|
|
exclude_scopes
|
(opcional) Historicamente, os códigos rígidos msal offline_access escopo, o que permitiria que seu aplicativo tivesse acesso prolongado aos dados do usuário.
Se isso for desnecessário ou indesejável para seu aplicativo, agora você poderá usar esse parâmetro para fornecer uma lista de exclusão de escopos, como Valor padrão: None
|
|
http_cache
|
A MSAL está armazenando tokens em cache há muito tempo no Esse Se seu aplicativo for um aplicativo de linha de comando (CLI), você desejará manter seu http_cache em diferentes execuções da CLI. O formato do arquivo persistente pode ser alterado devido, mas não se limitando ao protocolo instável, portanto, sua implementação deve tolerar erros de carregamento inesperados. A receita a seguir mostra uma maneira de fazer isso:
O conteúdo dentro O conteúdo dentro Novo na versão 1.16.0. Valor padrão: None
|
|
instance_discovery
|
<xref:boolean>
Historicamente, a MSAL se conectaria a um ponto de extremidade central localizado Esse parâmetro usa como padrão None, que habilita a Descoberta de Instância. Se você souber algumas autoridades que permitem que a MSAL opere com as-is, sem envolver nenhuma Descoberta de Instância, o padrão recomendado é:
Se você não conhece algumas autoridades de antemão, ainda quer que a MSAL aceite qualquer autoridade que você fornecerá, você pode usar uma Novo na versão 1.19.0. Valor padrão: None
|
|
allow_broker
|
<xref:boolean>
Preterido. Use Valor padrão: None
|
|
enable_pii_log
|
<xref:boolean>
Quando habilitados, os logs podem incluir PII (Informações de Identificação Pessoal). Isso pode ser útil na solução de problemas de comportamentos do agente. O comportamento padrão é False. Novo na versão 1.24.0. Valor padrão: None
|
|
oidc_authority
|
Adicionado na versão 1.28.0: é uma URL que identifica uma autoridade do OpenID Connect (OIDC) do formato Observação: O agente NÃO será usado para a autoridade OIDC. Valor padrão: None
|
Métodos
| acquire_token_for_client |
Adquire token para o cliente confidencial atual, não para um usuário final. Como a MSAL Python 1.23, ela procurará automaticamente o token do cache e enviará apenas a solicitação para o Provedor de Identidade quando o cache falhar. |
| acquire_token_on_behalf_of |
Adquire token usando o fluxo OBO (em nome). O aplicativo atual é um serviço de camada intermediária que foi chamado com um token que representa um usuário final. O aplicativo atual pode usar esse token (também conhecido como uma declaração de usuário) para solicitar outro token para acessar a API Web downstream, em nome desse usuário. Veja os documentos detalhados aqui . O aplicativo de camada intermediária atual não tem interação do usuário para obter consentimento. Veja como obter consentimento antecipadamente para seu aplicativo de camada intermediária a partir deste artigo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| remove_tokens_for_client |
Remova todos os tokens adquiridos anteriormente por meio acquire_token_for_client do cliente atual. |
acquire_token_for_client
Adquire token para o cliente confidencial atual, não para um usuário final.
Como a MSAL Python 1.23, ela procurará automaticamente o token do cache e enviará apenas a solicitação para o Provedor de Identidade quando o cache falhar.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
Parâmetros
| Nome | Description |
|---|---|
|
scopes
Obrigatório
|
(Obrigatório) Escopos solicitados para acessar uma API protegida (um recurso). |
|
claims_challenge
|
O parâmetro claims_challenge solicita declarações específicas solicitadas pelo provedor de recursos na forma de uma diretiva claims_challenge no cabeçalho www-authenticate a ser retornado do Ponto de Extremidade UserInfo e/ou no Token de ID e/ou Token de Acesso. É uma cadeia de caracteres de um objeto JSON que contém listas de declarações que estão sendo solicitadas desses locais. Valor padrão: None
|
|
fmi_path
|
Optional. O caminho da credencial FMI (Identidade Gerenciada Federada).
Quando fornecido, ele é enviado como o
Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
Um ditado que representa a resposta json de Microsoft Entra:
|
acquire_token_on_behalf_of
Adquire token usando o fluxo OBO (em nome).
O aplicativo atual é um serviço de camada intermediária que foi chamado com um token que representa um usuário final. O aplicativo atual pode usar esse token (também conhecido como uma declaração de usuário) para solicitar outro token para acessar a API Web downstream, em nome desse usuário. Veja os documentos detalhados aqui .
O aplicativo de camada intermediária atual não tem interação do usuário para obter consentimento. Veja como obter consentimento antecipadamente para seu aplicativo de camada intermediária a partir deste artigo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
acquire_token_on_behalf_of(user_assertion, scopes, claims_challenge=None, **kwargs)
Parâmetros
| Nome | Description |
|---|---|
|
user_assertion
Obrigatório
|
O token de entrada já recebido por este aplicativo |
|
scopes
Obrigatório
|
Escopos exigidos pela API downstream (um recurso). |
|
claims_challenge
|
O parâmetro claims_challenge solicita declarações específicas solicitadas pelo provedor de recursos na forma de uma diretiva claims_challenge no cabeçalho www-authenticate a ser retornado do Ponto de Extremidade UserInfo e/ou no Token de ID e/ou Token de Acesso. É uma cadeia de caracteres de um objeto JSON que contém listas de declarações que estão sendo solicitadas desses locais. Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
Um ditado que representa a resposta json de Microsoft Entra:
|
remove_tokens_for_client
Remova todos os tokens adquiridos anteriormente por meio acquire_token_for_client do cliente atual.
remove_tokens_for_client()