Condividi tramite


DeviceCodeCredential Classe

Autentica gli utenti tramite il flusso di codice del dispositivo.

Quando get_token viene chiamato, questa credenziale acquisisce un URL di verifica e un codice da Azure Active Directory. Un utente deve passare all'URL, immettere il codice ed eseguire l'autenticazione con Azure Active Directory. Se l'utente esegue correttamente l'autenticazione, le credenziali ricevono un token di accesso.

Questa credenziale è principalmente utile per autenticare un utente in un ambiente senza un Web browser, ad esempio una sessione SSH. Se è disponibile un Web browser, InteractiveBrowserCredential è più pratico perché apre automaticamente un browser alla pagina di accesso.

Ereditarietà
azure.identity._internal.interactive.InteractiveCredential
DeviceCodeCredential

Costruttore

DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)

Parametri

client_id
str
valore predefinito: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

L'ID client degli utenti dell'applicazione eseguirà l'autenticazione. Quando gli utenti non specificati eseguiranno l'autenticazione a un'applicazione di sviluppo di Azure.

authority
str

Autorità di un endpoint di Azure Active Directory, ad esempio "login.microsoftonline.com", l'autorità per Azure Public Cloud (ovvero l'impostazione predefinita). AzureAuthorityHosts definisce le autorità per altri cloud.

tenant_id
str

ID tenant di Azure Active Directory. Impostazione predefinita per il tenant "organizzazioni", che può autenticare gli account aziendali o dell'istituto di istruzione. Obbligatorio per le applicazioni a tenant singolo.

timeout
int

secondi per attendere l'autenticazione dell'utente. Per impostazione predefinita, il periodo di validità del codice del dispositivo viene impostato da Azure Active Directory, che prevale anche quando il timeout è più lungo.

prompt_callback
Callable[str, str, datetime]

Callback che abilita il controllo della modalità di presentazione delle istruzioni di autenticazione. Deve accettare argomenti (verification_uri, user_code, expires_on):

  • verification_uri (str) l'URL che l'utente deve visitare

  • user_code (str) il codice che l'utente deve immettere lì

  • expires_on (datetime.datetime) ora UTC in cui scade il codice

Se questo argomento non viene fornito, le credenziali stampano le istruzioni per stdout.

authentication_record
AuthenticationRecord

AuthenticationRecord restituito da authenticate

disable_automatic_authentication
bool

se True, get_token genererà AuthenticationRequiredError quando è necessaria l'interazione dell'utente per acquisire un token. Il valore predefinito è False.

cache_persistence_options
TokenCachePersistenceOptions

configurazione per la memorizzazione nella cache dei token persistenti. Se non specificato, le credenziali memorizzano nella cache i token in memoria.

disable_instance_discovery
bool

Determina se l'individuazione di istanze viene eseguita durante il tentativo di autenticazione. L'impostazione su true disabilita completamente sia l'individuazione dell'istanza che la convalida dell'autorità. Questa funzionalità è destinata all'uso negli scenari in cui non è possibile raggiungere l'endpoint dei metadati, ad esempio nei cloud privati o in Azure Stack. Il processo di individuazione dell'istanza comporta il recupero dei metadati dell'autorità da https://login.microsoft.com/ per convalidare l'autorità. Impostando questa opzione su True, la convalida dell'autorità è disabilitata. Di conseguenza, è fondamentale assicurarsi che l'host dell'autorità configurata sia valido e affidabile.

Esempio

Creare un dispositivo DeviceCodeCredential.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Metodi

authenticate

Autenticare in modo interattivo un utente.

close
get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

authenticate

Autenticare in modo interattivo un utente.

authenticate(**kwargs: Any) -> AuthenticationRecord

Parametri

scopes
Iterable[str]

ambiti da richiedere durante l'autenticazione, ad esempio quelli forniti da scopes. Se specificato, l'autenticazione ha esito positivo memorizza nella cache un token di accesso per questi ambiti.

claims
str

attestazioni aggiuntive necessarie nel token, ad esempio quelle fornite da claims

Tipo restituito

Eccezioni

autenticazione non riuscita. L'attributo dell'errore message fornisce un motivo.

close

close() -> None

Eccezioni

autenticazione non riuscita. L'attributo dell'errore message fornisce un motivo.

get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

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

Parametri

scopes
str
Necessario

ambiti desiderati per il token di accesso. Questo metodo richiede almeno un ambito. Per altre informazioni sugli ambiti, vedere https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

attestazioni aggiuntive necessarie nel token, ad esempio quelle restituite nella richiesta di attestazioni di un provider di risorse in seguito a un errore di autorizzazione

tenant_id
str

tenant facoltativo da includere nella richiesta di token.

enable_cae
bool

indica se abilitare La valutazione dell'accesso continuo (CAE) per il token richiesto. Il valore predefinito è False.

Restituisce

Token di accesso con gli ambiti desiderati.

Tipo restituito

Eccezioni

la credenziale non è in grado di tentare l'autenticazione perché non dispone di dati, stato o supporto della piattaforma necessari

autenticazione non riuscita. L'attributo dell'errore message fornisce un motivo.

L'interazione utente è necessaria per acquisire un token e la credenziale non è configurata per iniziare automaticamente questa operazione. Chiamata

per iniziare l'autenticazione interattiva.