DeviceCodeCredential Classe
Autentica os utilizadores através do fluxo de código do dispositivo.
Quando get_token é chamada, esta credencial adquire um URL de verificação e código do Azure Active Directory. Um utilizador tem de navegar para o URL, introduzir o código e autenticar com o Azure Active Directory. Se o utilizador se autenticar com êxito, a credencial receberá um token de acesso.
Esta credencial é essencialmente útil para autenticar um utilizador num ambiente sem um browser, como uma sessão SSH. Se um browser estiver disponível, InteractiveBrowserCredential é mais conveniente porque abre automaticamente um browser para a página de início de sessão.
- 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
O ID de cliente dos utilizadores da aplicação será autenticado. Quando não forem especificados, os utilizadores serão autenticados numa aplicação de desenvolvimento do Azure.
- authority
- str
Autoridade de um ponto final do Azure Active Directory, por exemplo "login.microsoftonline.com", a autoridade para a Cloud Pública do Azure (que é a predefinição). AzureAuthorityHosts define as autoridades para outras clouds.
- tenant_id
- str
um ID de inquilino do Azure Active Directory. Predefinições para o inquilino "organizações", que pode autenticar contas escolares ou profissionais. Necessário para aplicações de inquilino único.
- timeout
- int
segundos para aguardar a autenticação do utilizador. A predefiniçã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 é mais longo.
Uma chamada de retorno que permite o controlo da forma como as instruções de autenticação são apresentadas. Tem de aceitar argumentos (verification_uri
, , user_code
expires_on
):
verification_uri
(str) o URL que o utilizador tem de visitaruser_code
(str) o código que o utilizador tem de introduzir aíexpires_on
(datetime.datetime) a hora UTC em que o código irá expirar
Se este argumento não for fornecido, a credencial irá imprimir instruções para stdout.
- authentication_record
- AuthenticationRecord
AuthenticationRecord devolvido por authenticate
- disable_automatic_authentication
- bool
se For Verdadeiro, get_token irá aumentar AuthenticationRequiredError quando a interação do utilizador for necessária para adquirir um token. Predefinições para Falso.
- cache_persistence_options
- TokenCachePersistenceOptions
configuração para colocação em cache de tokens persistentes. Se não for especificado, a credencial colocará tokens em cache na memória.
- disable_instance_discovery
- bool
Determina se a deteção de instâncias é ou não realizada ao tentar autenticar. Definir isto como verdadeiro irá desativar completamente a deteção de instâncias e a validação da autoridade. Esta funcionalidade destina-se a ser utilizada em cenários em que não é possível alcançar o ponto final de metadados, como em clouds privadas ou no Azure Stack. O processo de deteção de instâncias implica a obtenção de metadados de autoridade para https://login.microsoft.com/ validar a autoridade. Ao defini-lo como Verdadeiro, a validação da autoridade está desativada. Como resultado, é crucial garantir que o anfitrião de autoridade configurado é válido e fidedigno.
Exemplos
Crie um DeviceCodeCredential.
from azure.identity import DeviceCodeCredential
credential = DeviceCodeCredential()
Métodos
authenticate |
Autenticar interativamente um utilizador. |
close | |
get_token |
Pedir um token de acesso para âmbitos. Este método é chamado automaticamente pelos clientes do SDK do Azure. |
authenticate
Autenticar interativamente um utilizador.
authenticate(**kwargs: Any) -> AuthenticationRecord
Parâmetros
âmbitos a pedir durante a autenticação, como os fornecidos pelo scopes. Se for fornecida, a autenticação bem-sucedida colocará em cache um token de acesso para estes âmbitos.
Tipo de retorno
Exceções
falha na autenticação. O atributo do message
erro dá um motivo.
close
close() -> None
Exceções
falha na autenticação. O atributo do message
erro dá um motivo.
get_token
Pedir um token de acesso para âmbitos.
Este método é chamado automaticamente pelos 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
âmbitos pretendidos para o token de acesso. Este método requer, pelo menos, um âmbito. Para obter mais informações sobre âmbitos, consulte https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.
- claims
- str
afirmações adicionais necessárias no token, como as devolvidas no desafio de afirmações de um fornecedor de recursos após uma falha de autorização
- tenant_id
- str
inquilino opcional a incluir no pedido de token.
- enable_cae
- bool
indica se pretende ativar a Avaliação de Acesso Contínuo (CAE) para o token pedido. Predefinições para Falso.
Devoluções
Um token de acesso com os âmbitos pretendidos.
Tipo de retorno
Exceções
a credencial não consegue tentar a autenticação porque não tem os dados necessários, o estado ou o suporte da plataforma
falha na autenticação. O atributo do message
erro dá um motivo.
A interação do utilizador é necessária para adquirir um token e a credencial está configurada para não começar automaticamente. Chamada
para iniciar a autenticação interativa.