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.InteractiveCredentialDeviceCodeCredential
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
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.
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 visitareuser_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
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.
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
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.