Partilhar via


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.InteractiveCredential
DeviceCodeCredential

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
valor predefinido: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

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.

prompt_callback
Callable[str, str, datetime]

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_codeexpires_on):

  • verification_uri (str) o URL que o utilizador tem de visitar

  • user_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

scopes
Iterable[str]

â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.

claims
str

afirmações adicionais necessárias no token, como as fornecidas por claims

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
Necessário

â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.