DeviceCodeCredential Klasa
Uwierzytelnia użytkowników za pośrednictwem przepływu kodu urządzenia.
Po get_token wywołaniu to poświadczenie uzyskuje adres URL weryfikacji i kod z usługi Azure Active Directory. Użytkownik musi przejść do adresu URL, wprowadzić kod i uwierzytelnić się w usłudze Azure Active Directory. Jeśli użytkownik zostanie pomyślnie uwierzytelniony, poświadczenie otrzyma token dostępu.
To poświadczenie jest przydatne głównie w przypadku uwierzytelniania użytkownika w środowisku bez przeglądarki internetowej, takiej jak sesja SSH. Jeśli przeglądarka internetowa jest dostępna, jest wygodniejsza, InteractiveBrowserCredential ponieważ automatycznie otwiera przeglądarkę na stronie logowania.
- Dziedziczenie
-
azure.identity._internal.interactive.InteractiveCredentialDeviceCodeCredential
Konstruktor
DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)
Parametry
- client_id
- str
identyfikator klienta użytkowników aplikacji zostanie uwierzytelniony. Jeśli nie określono, użytkownicy będą uwierzytelniać się w aplikacji dewelopera platformy Azure.
- authority
- str
Urząd punktu końcowego usługi Azure Active Directory, na przykład "login.microsoftonline.com", urząd dla chmury publicznej platformy Azure (który jest domyślny). AzureAuthorityHosts definiuje władze dla innych chmur.
- tenant_id
- str
identyfikator dzierżawy usługi Azure Active Directory. Domyślnie jest to dzierżawa "organizacji", która może uwierzytelniać konta służbowe. Wymagane w przypadku aplikacji z jedną dzierżawą.
- timeout
- int
sekundy oczekiwania na uwierzytelnienie użytkownika. Domyślnie okres ważności kodu urządzenia jest ustawiony przez usługę Azure Active Directory, co również ma pierwszeństwo, gdy limit czasu jest dłuższy.
Wywołanie zwrotne umożliwiające kontrolę nad sposobem prezentowania instrukcji uwierzytelniania. Musi akceptować argumenty (verification_uri
, user_code
, expires_on
):
verification_uri
(str) adres URL, który użytkownik musi odwiedzićuser_code
(str) kod, który użytkownik musi tam wprowadzićexpires_on
(datetime.datetime) godzina UTC, o której kod wygaśnie
Jeśli ten argument nie zostanie podany, poświadczenie wyświetli instrukcje dotyczące stdout.
- authentication_record
- AuthenticationRecord
AuthenticationRecord zwrócone przez authenticate
- disable_automatic_authentication
- bool
Jeśli wartość True, zostanie wywołana AuthenticationRequiredError wartość , get_token gdy interakcja użytkownika jest wymagana do uzyskania tokenu. Wartość domyślna to False.
- cache_persistence_options
- TokenCachePersistenceOptions
konfiguracja trwałego buforowania tokenów. Jeśli nie zostanie określona, poświadczenie będzie buforowane tokeny w pamięci.
- disable_instance_discovery
- bool
Określa, czy odnajdywanie wystąpień jest wykonywane podczas próby uwierzytelnienia. Ustawienie wartości true spowoduje całkowite wyłączenie weryfikacji odnajdywania wystąpień i urzędu. Ta funkcja jest przeznaczona do użycia w scenariuszach, w których nie można uzyskać dostępu do punktu końcowego metadanych, na przykład w chmurach prywatnych lub usłudze Azure Stack. Proces odnajdywania wystąpień wiąże się z pobieraniem metadanych urzędu z https://login.microsoft.com/ programu w celu zweryfikowania urzędu. Ustawiając wartość True, walidacja urzędu jest wyłączona. W związku z tym niezwykle ważne jest upewnienie się, że skonfigurowany host urzędu jest prawidłowy i godny zaufania.
Przykłady
Utwórz element DeviceCodeCredential.
from azure.identity import DeviceCodeCredential
credential = DeviceCodeCredential()
Metody
authenticate |
Interakcyjne uwierzytelnianie użytkownika. |
close | |
get_token |
Żądanie tokenu dostępu dla zakresów. Ta metoda jest wywoływana automatycznie przez klientów zestawu Azure SDK. |
authenticate
Interakcyjne uwierzytelnianie użytkownika.
authenticate(**kwargs: Any) -> AuthenticationRecord
Parametry
zakresy żądania podczas uwierzytelniania, takie jak te udostępniane przez scopesusługę . Jeśli zostanie podana, pomyślne uwierzytelnianie spowoduje buforowanie tokenu dostępu dla tych zakresów.
Typ zwracany
Wyjątki
uwierzytelnianie nie powiodło się. Atrybut błędu message
podaje przyczynę.
close
close() -> None
Wyjątki
uwierzytelnianie nie powiodło się. Atrybut błędu message
podaje przyczynę.
get_token
Żądanie tokenu dostępu dla zakresów.
Ta metoda jest wywoływana automatycznie przez klientów zestawu Azure SDK.
get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
Parametry
- scopes
- str
żądane zakresy tokenu dostępu. Ta metoda wymaga co najmniej jednego zakresu. Aby uzyskać więcej informacji na temat zakresów, zobacz https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.
- claims
- str
dodatkowe oświadczenia wymagane w tokenie, takie jak te zwrócone w żądaniach dostawcy zasobów, po niepowodzeniu autoryzacji
- tenant_id
- str
opcjonalna dzierżawa do uwzględnienia w żądaniu tokenu.
- enable_cae
- bool
wskazuje, czy włączyć ciągłą ocenę dostępu (CAE) dla żądanego tokenu. Wartość domyślna to False.
Zwraca
Token dostępu z żądanymi zakresami.
Typ zwracany
Wyjątki
poświadczenie nie może podjąć próby uwierzytelnienia, ponieważ brakuje wymaganych danych, stanu lub obsługi platformy
uwierzytelnianie nie powiodło się. Atrybut błędu message
podaje przyczynę.
interakcja użytkownika jest niezbędna do uzyskania tokenu, a poświadczenie nie jest konfigurowane do automatycznego rozpoczynania tego działania. Call
aby rozpocząć uwierzytelnianie interakcyjne.