Udostępnij za pośrednictwem


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.InteractiveCredential
DeviceCodeCredential

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
wartość domyślna: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

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.

prompt_callback
Callable[str, str, datetime]

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

scopes
Iterable[str]

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.

claims
str

dodatkowe oświadczenia wymagane w tokenie, takie jak te dostarczone przez claims

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
Wymagane

żą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.