Aracılığıyla paylaş


DeviceCodeCredential Sınıf

Cihaz kodu akışı aracılığıyla kullanıcıların kimliğini doğrular.

Çağrıldığında get_token , bu kimlik bilgisi Azure Active Directory'den bir doğrulama URL'si ve kodu alır. Kullanıcının URL'ye göz atması, kodu girmesi ve Azure Active Directory ile kimlik doğrulaması yapması gerekir. Kullanıcı başarıyla kimlik doğrulaması yaparsa, kimlik bilgisi bir erişim belirteci alır.

Bu kimlik bilgisi öncelikle kullanıcının kimliğini web tarayıcısı olmayan bir ortamda (SSH oturumu gibi) doğrulamak için yararlıdır. Bir web tarayıcısı varsa, InteractiveBrowserCredential otomatik olarak oturum açma sayfasına bir tarayıcı açtığından daha kullanışlıdır.

Devralma
azure.identity._internal.interactive.InteractiveCredential
DeviceCodeCredential

Oluşturucu

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

Parametreler

client_id
str
varsayılan değer: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

kullanıcıların kimlik doğrulaması yapacağı uygulamanın istemci kimliği. Belirtilmediğinde kullanıcılar bir Azure geliştirme uygulamasında kimlik doğrulaması yapar.

authority
str

Azure Active Directory uç noktasının yetkilisi, örneğin "login.microsoftonline.com", Azure Genel Bulut yetkilisi (varsayılandır). AzureAuthorityHosts diğer bulutlar için yetkilileri tanımlar.

tenant_id
str

Bir Azure Active Directory kiracı kimliği. Varsayılan olarak iş veya okul hesaplarının kimliğini doğrulayan "kuruluşlar" kiracısı kullanılır. Tek kiracılı uygulamalar için gereklidir.

timeout
int

kullanıcının kimliğini doğrulamasını beklemek için saniye. Azure Active Directory tarafından ayarlanan cihaz kodunun geçerlilik süresini varsayılan olarak belirler. Bu süre, zaman aşımı daha uzun olduğunda da geçerli olur.

prompt_callback
Callable[str, str, datetime]

Kimlik doğrulama yönergelerinin nasıl sunulduğunu denetlemeyi sağlayan bir geri arama. Bağımsız değişkenleri (verification_uri, user_code, expires_on) kabul etmelidir:

  • verification_uri (str) kullanıcının ziyaret etmesi gereken URL

  • user_code (str) kullanıcının girmesi gereken kodu

  • expires_on (datetime.datetime) kodun süresinin dolacağı UTC saati

Bu bağımsız değişken sağlanmazsa, kimlik bilgisi yönergeleri stdout'a yazdırır.

authentication_record
AuthenticationRecord

AuthenticationRecord döndüren authenticate

disable_automatic_authentication
bool

True ise, get_token belirteç almak için kullanıcı etkileşimi gerektiğinde tetiklenir AuthenticationRequiredError . Varsayılan değer False'tur.

cache_persistence_options
TokenCachePersistenceOptions

kalıcı belirteç önbelleğe alma yapılandırması. Belirtilmezse, kimlik bilgisi belirteçleri bellekte önbelleğe alır.

disable_instance_discovery
bool

Kimlik doğrulaması denenirken örnek bulma işleminin gerçekleştirilip gerçekleştirilmeyeceğini belirler. Bunu true olarak ayarlamak hem örnek bulma hem de yetkili doğrulamayı tamamen devre dışı bırakır. Bu işlevsellik, meta veri uç noktasına erişilemeyen özel bulutlar veya Azure Stack gibi senaryolarda kullanılmak üzere tasarlanmıştır. Örnek bulma işlemi, yetkiliyi doğrulamak için yetkili meta verilerinin 'den https://login.microsoft.com/ alınmasını gerektirir. Bunu True olarak ayarladığınızda, yetkilinin doğrulaması devre dışı bırakılır. Sonuç olarak, yapılandırılan yetkili konağın geçerli ve güvenilir olduğundan emin olmak çok önemlidir.

Örnekler

DeviceCodeCredential oluşturun.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Yöntemler

authenticate

Kullanıcının kimliğini etkileşimli olarak doğrulayın.

close
get_token

Kapsamlar için erişim belirteci isteyin.

Bu yöntem Azure SDK istemcileri tarafından otomatik olarak çağrılır.

authenticate

Kullanıcının kimliğini etkileşimli olarak doğrulayın.

authenticate(**kwargs: Any) -> AuthenticationRecord

Parametreler

scopes
Iterable[str]

kimlik doğrulaması sırasında istenecek kapsamlar, örneğin tarafından scopessağlananlar. Sağlanırsa, başarılı kimlik doğrulaması bu kapsamlar için bir erişim belirtecini önbelleğe alır.

claims
str

belirteci için gereken ek talepler (örneğin, claims

Dönüş türü

Özel durumlar

kimlik doğrulaması başarısız oldu. Hatanın message özniteliği bir neden verir.

close

close() -> None

Özel durumlar

kimlik doğrulaması başarısız oldu. Hatanın message özniteliği bir neden verir.

get_token

Kapsamlar için erişim belirteci isteyin.

Bu yöntem Azure SDK istemcileri tarafından otomatik olarak çağrılır.

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

Parametreler

scopes
str
Gerekli

erişim belirteci için istenen kapsamlar. Bu yöntem en az bir kapsam gerektirir. Kapsamlar hakkında daha fazla bilgi için bkz https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc. .

claims
str

bir yetkilendirme hatasından sonra bir kaynak sağlayıcısının talep sınamasında döndürülenler gibi belirteçte gereken ek talepler

tenant_id
str

belirteci isteğine dahil etmek için isteğe bağlı kiracı.

enable_cae
bool

, istenen belirteç için Sürekli Erişim Değerlendirmesi'nin (CAE) etkinleştirilip etkinleştirilmeydiğini gösterir. Varsayılan değer False'tur.

Döndürülenler

İstenen kapsamlara sahip bir erişim belirteci.

Dönüş türü

Özel durumlar

gerekli veri, durum veya platform desteği olmadığından kimlik doğrulaması denenemiyor

kimlik doğrulaması başarısız oldu. Hatanın message özniteliği bir neden verir.

kullanıcı etkileşimi bir belirteç almak için gereklidir ve kimlik bilgisi bunu otomatik olarak başlatmayacak şekilde yapılandırılır. Call

etkileşimli kimlik doğrulamasına başlamak için.