Compartilhar via


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.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 padrão: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

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.

prompt_callback
Callable[str, str, datetime]

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 visitar

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

scopes
Iterable[str]

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.

claims
str

declaraçõ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 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
Obrigatório

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.