DeviceCodeCredential Classe
Autentica os usuários por meio do fluxo de código do dispositivo.
Quando get_token é chamada, essa credencial adquire uma URL de verificação e um código do Azure Active Directory. Um usuário deve navegar até a URL, inserir o código e autenticar com o Azure Active Directory. Se o usuário for autenticado com êxito, a credencial receberá um token de acesso.
Essa credencial é útil principalmente para autenticar um usuário em um ambiente sem um navegador da Web, como uma sessão SSH. Se um navegador da Web estiver disponível, InteractiveBrowserCredential será mais conveniente porque ele abre automaticamente um navegador na página de logon.
- Herança
-
azure.identity._internal.interactive.InteractiveCredentialDeviceCodeCredential
Construtor
DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)
Parâmetros
- client_id
- str
A ID do cliente dos usuários do aplicativo será autenticada. Quando os usuários não especificados não forem autenticados em um aplicativo de desenvolvimento do Azure.
- authority
- str
Autoridade de um ponto de extremidade do Azure Active Directory, por exemplo, "login.microsoftonline.com", a autoridade para a Nuvem Pública do Azure (que é o padrão). AzureAuthorityHosts define as autoridades para outras nuvens.
- tenant_id
- str
uma ID de locatário do Azure Active Directory. O padrão é o locatário "organizações", que pode autenticar contas corporativas ou de estudante. Necessário para aplicativos de locatário único.
- timeout
- int
segundos para aguardar a autenticação do usuário. O padrão é o período de validade do código do dispositivo, conforme definido pelo Azure Active Directory, que também prevalece quando o tempo limite é maior.
Um retorno de chamada que habilita o controle de como as instruções de autenticação são apresentadas. Deve aceitar argumentos (verification_uri
, user_code
, expires_on
):
verification_uri
(str) a URL que o usuário deve visitaruser_code
(str) o código que o usuário deve inserir láexpires_on
(datetime.datetime) a hora UTC em que o código expirará
Se esse argumento não for fornecido, a credencial imprimirá instruções para stdout.
- authentication_record
- AuthenticationRecord
AuthenticationRecord retornado por authenticate
- disable_automatic_authentication
- bool
se True, get_token aumentará AuthenticationRequiredError quando a interação do usuário for necessária para adquirir um token. Usa False como padrão.
- cache_persistence_options
- TokenCachePersistenceOptions
configuração para cache de token persistente. Se não for especificado, a credencial armazenará tokens em cache na memória.
- disable_instance_discovery
- bool
Determina se a descoberta de instância é executada ou não ao tentar se autenticar. Definir isso como true desabilitará completamente a descoberta de instância e a validação de autoridade. Essa funcionalidade destina-se ao uso em cenários em que o ponto de extremidade de metadados não pode ser alcançado, como em nuvens privadas ou no Azure Stack. O processo de descoberta de instância envolve a recuperação de metadados de autoridade de https://login.microsoft.com/ para validar a autoridade. Ao definir isso como True, a validação da autoridade é desabilitada. Como resultado, é crucial garantir que o host de autoridade configurado seja válido e confiável.
Exemplos
Crie um DeviceCodeCredential.
from azure.identity import DeviceCodeCredential
credential = DeviceCodeCredential()
Métodos
authenticate |
Autenticar interativamente um usuário. |
close | |
get_token |
Solicite um token de acesso para escopos. Esse método é chamado automaticamente por clientes do SDK do Azure. |
authenticate
Autenticar interativamente um usuário.
authenticate(**kwargs: Any) -> AuthenticationRecord
Parâmetros
escopos a serem solicitados durante a autenticação, como os fornecidos pelo scopes. Se fornecida, a autenticação bem-sucedida armazenará em cache um token de acesso para esses escopos.
Tipo de retorno
Exceções
falha na autenticação. O atributo do message
erro fornece um motivo.
close
close() -> None
Exceções
falha na autenticação. O atributo do message
erro fornece um motivo.
get_token
Solicite um token de acesso para escopos.
Esse método é chamado automaticamente por clientes do SDK do Azure.
get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
Parâmetros
- scopes
- str
escopos desejados para o token de acesso. Esse método requer pelo menos um escopo. Para obter mais informações sobre escopos, consulte https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.
- claims
- str
declarações adicionais necessárias no token, como aquelas retornadas no desafio de declarações de um provedor de recursos após uma falha de autorização
- tenant_id
- str
locatário opcional a ser incluído na solicitação de token.
- enable_cae
- bool
indica se a CAE (Avaliação Contínua de Acesso) deve ser habilitada para o token solicitado. Usa False como padrão.
Retornos
Um token de acesso com os escopos desejados.
Tipo de retorno
Exceções
a credencial não consegue tentar a autenticação porque não tem os dados, o estado ou o suporte à plataforma necessários
falha na autenticação. O atributo do message
erro fornece um motivo.
A interação do usuário é necessária para adquirir um token e a credencial está configurada para não iniciar isso automaticamente. Chamar
para iniciar a autenticação interativa.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de