Sdílet prostřednictvím


DeviceCodeCredential Třída

Ověřuje uživatele prostřednictvím toku kódu zařízení.

Při get_token volání tyto přihlašovací údaje získají ověřovací adresu URL a kód z Azure Active Directory. Uživatel musí přejít na adresu URL, zadat kód a ověřit se pomocí Azure Active Directory. Pokud se uživatel úspěšně ověří, přihlašovací údaje obdrží přístupový token.

Tyto přihlašovací údaje jsou primárně užitečné pro ověřování uživatele v prostředí bez webového prohlížeče, jako je relace SSH. Pokud je dostupný webový prohlížeč, je pohodlnější, InteractiveBrowserCredential protože automaticky otevře prohlížeč na přihlašovací stránce.

Dědičnost
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
výchozí hodnota: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

ID klienta aplikace, na které se uživatelé budou ověřovat. Pokud uživatelé nezadáte, budou se ověřovat ve vývojové aplikaci Azure.

authority
str

Autorita koncového bodu Azure Active Directory, například "login.microsoftonline.com", autorita pro veřejný cloud Azure (což je výchozí nastavení). AzureAuthorityHosts definuje autority pro jiné cloudy.

tenant_id
str

ID tenanta Azure Active Directory. Výchozí hodnota je tenant organizace, který může ověřovat pracovní nebo školní účty. Vyžaduje se pro aplikace s jedním tenantem.

timeout
int

sekundy, než se uživatel ověří. Výchozí hodnota je doba platnosti kódu zařízení nastavená službou Azure Active Directory, která platí také v případě, že je časový limit delší.

prompt_callback
Callable[str, str, datetime]

Zpětné volání, které umožňuje řídit způsob, jakým jsou prezentovány pokyny k ověřování. Musí přijmout argumenty (verification_uri, user_code, ): expires_on

  • verification_uri (str) adresa URL, na které musí uživatel přejít

  • user_code (str) kód, který tam uživatel musí zadat

  • expires_on (datetime.datetime) čas UTC, kdy vyprší platnost kódu

Pokud tento argument není zadaný, přihlašovací údaje vypíše pokyny pro stdout.

authentication_record
AuthenticationRecord

AuthenticationRecord vráceno uživatelem authenticate

disable_automatic_authentication
bool

pokud true, get_token vyvolá AuthenticationRequiredError se, když je k získání tokenu nutná interakce uživatele. Výchozí hodnota je False.

cache_persistence_options
TokenCachePersistenceOptions

konfigurace pro trvalé ukládání tokenů do mezipaměti. Pokud neurčíte, přihlašovací údaje budou tokeny ukládat do mezipaměti.

disable_instance_discovery
bool

Určuje, jestli se při pokusu o ověření provádí zjišťování instancí. Nastavení na hodnotu true zcela zakáže zjišťování instancí i ověřování autority. Tato funkce je určená pro použití ve scénářích, kdy není možné dosáhnout koncového bodu metadat, například v privátních cloudech nebo ve službě Azure Stack. Proces zjišťování instancí zahrnuje načtení metadat autority za https://login.microsoft.com/ účelem ověření autority. Když tuto hodnotu nastavíte na Hodnotu True, ověření autority se zakáže. Proto je důležité zajistit, aby nakonfigurovaný hostitel autority byl platný a důvěryhodný.

Příklady

Vytvořte DeviceCodeCredential.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Metody

authenticate

Interaktivní ověřování uživatele

close
get_token

Vyžádejte si přístupový token pro obory.

Klienti sady Azure SDK tuto metodu volali automaticky.

authenticate

Interaktivní ověřování uživatele

authenticate(**kwargs: Any) -> AuthenticationRecord

Parametry

scopes
Iterable[str]

rozsahy, které mají být požadovány během ověřování, například rozsahy poskytované nástrojem scopes. Pokud je k dispozici, úspěšné ověřování uloží přístupový token pro tyto obory do mezipaměti.

claims
str

další deklarace identity vyžadované v tokenu, například ty, které poskytuje claims

Návratový typ

Výjimky

ověřování se nezdařilo. Atribut chyby message uvádí důvod.

close

close() -> None

Výjimky

ověřování se nezdařilo. Atribut chyby message uvádí důvod.

get_token

Vyžádejte si přístupový token pro obory.

Klienti sady Azure SDK tuto metodu volali automaticky.

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

Parametry

scopes
str
Vyžadováno

požadované obory pro přístupový token. Tato metoda vyžaduje alespoň jeden obor. Další informace o oborech najdete v tématu https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

další deklarace identity vyžadované v tokenu, například ty, které se vrátily při napadení deklarací identity poskytovatele prostředků po selhání autorizace

tenant_id
str

volitelného tenanta, který se má zahrnout do žádosti o token.

enable_cae
bool

určuje, jestli se má pro požadovaný token povolit průběžné vyhodnocování přístupu (CAE). Výchozí hodnota je False.

Návraty

Přístupový token s požadovanými obory.

Návratový typ

Výjimky

přihlašovací údaje se nemohou pokusit o ověření, protože nemají požadovaná data, stav nebo podporu platformy.

ověřování se nezdařilo. Atribut chyby message uvádí důvod.

K získání tokenu je nutná interakce uživatele a přihlašovací údaje jsou nakonfigurované tak, aby se nezačínaly automaticky. Call

a zahájit interaktivní ověřování.