Share via


DeviceCodeCredential Clase

Autentica a los usuarios a través del flujo de código del dispositivo.

Cuando get_token se llama a , esta credencial adquiere una dirección URL de verificación y un código de Azure Active Directory. Un usuario debe ir a la dirección URL, escribir el código y autenticarse con Azure Active Directory. Si el usuario se autentica correctamente, la credencial recibe un token de acceso.

Esta credencial es principalmente útil para autenticar a un usuario en un entorno sin un explorador web, como una sesión SSH. Si hay un explorador web disponible, InteractiveBrowserCredential es más cómodo porque abre automáticamente un explorador en la página de inicio de sesión.

Herencia
azure.identity._internal.interactive.InteractiveCredential
DeviceCodeCredential

Constructor

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

el identificador de cliente de los usuarios de la aplicación se autenticará. Cuando no se especifiquen usuarios, se autenticarán en una aplicación de desarrollo de Azure.

authority
str

Autoridad de un punto de conexión de Azure Active Directory, por ejemplo, "login.microsoftonline.com", la autoridad de la nube pública de Azure (que es el valor predeterminado). AzureAuthorityHosts define autoridades para otras nubes.

tenant_id
str

un identificador de inquilino de Azure Active Directory. El valor predeterminado es el inquilino de "organizaciones", que puede autenticar cuentas profesionales o educativas. Se requiere para las aplicaciones de un solo inquilino.

timeout
int

segundos para esperar a que el usuario se autentique. El valor predeterminado es el período de validez del código de dispositivo establecido por Azure Active Directory, que también prevalece cuando el tiempo de espera es más largo.

prompt_callback
Callable[str, str, datetime]

Devolución de llamada que permite controlar cómo se presentan las instrucciones de autenticación. Debe aceptar argumentos (verification_uri, user_code, expires_on):

  • verification_uri (str) la dirección URL que el usuario debe visitar

  • user_code (str) el código que el usuario debe escribir allí

  • expires_on (datetime.datetime) hora UTC a la que expirará el código.

Si no se proporciona este argumento, la credencial imprimirá instrucciones en stdout.

authentication_record
AuthenticationRecord

AuthenticationRecord devuelto por authenticate

disable_automatic_authentication
bool

si es True, get_token se generará AuthenticationRequiredError cuando se requiera interacción del usuario para adquirir un token. El valor predeterminado es False.

cache_persistence_options
TokenCachePersistenceOptions

configuración para el almacenamiento en caché de tokens persistentes. Si no se especifica, la credencial almacenará en caché los tokens en memoria.

disable_instance_discovery
bool

Determina si se realiza o no la detección de instancias al intentar autenticarse. Si se establece en true, se deshabilitará completamente la detección de instancias y la validación de la autoridad. Esta funcionalidad está pensada para su uso en escenarios en los que no se puede acceder al punto de conexión de metadatos, como en nubes privadas o Azure Stack. El proceso de detección de instancias implica la recuperación de metadatos de autoridad de https://login.microsoft.com/ para validar la autoridad. Al establecer esto en True, la validación de la entidad está deshabilitada. Como resultado, es fundamental asegurarse de que el host de autoridad configurado sea válido y de confianza.

Ejemplos

Cree un deviceCodeCredential.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Métodos

authenticate

Autenticación interactiva de un usuario.

close
get_token

Solicite un token de acceso para los ámbitos.

Los clientes del SDK de Azure llaman automáticamente a este método.

authenticate

Autenticación interactiva de un usuario.

authenticate(**kwargs: Any) -> AuthenticationRecord

Parámetros

scopes
Iterable[str]

ámbitos para solicitar durante la autenticación, como los proporcionados por scopes. Si se proporciona, la autenticación correcta almacenará en caché un token de acceso para estos ámbitos.

claims
str

Notificaciones adicionales necesarias en el token, como las proporcionadas por claims

Tipo de valor devuelto

Excepciones

error de autenticación. El atributo del message error proporciona una razón.

close

close() -> None

Excepciones

error de autenticación. El atributo del message error proporciona una razón.

get_token

Solicite un token de acceso para los ámbitos.

Los clientes del SDK de Azure llaman automáticamente a este método.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parámetros

scopes
str
Requerido

ámbitos deseados para el token de acceso. Este método requiere al menos un ámbito. Para obtener más información sobre los ámbitos, vea https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

Notificaciones adicionales necesarias en el token, como las que se devuelven en el desafío de notificaciones de un proveedor de recursos después de un error de autorización

tenant_id
str

inquilino opcional que se va a incluir en la solicitud de token.

enable_cae
bool

indica si se va a habilitar la evaluación continua de acceso (CAE) para el token solicitado. El valor predeterminado es False.

Devoluciones

Un token de acceso con los ámbitos deseados.

Tipo de valor devuelto

Excepciones

la credencial no puede intentar la autenticación porque carece de compatibilidad con los datos, el estado o la plataforma necesarios.

error de autenticación. El atributo del message error proporciona una razón.

La interacción del usuario es necesaria para adquirir un token y la credencial está configurada para no comenzar esto automáticamente. Call

para comenzar la autenticación interactiva.