Bagikan melalui


DeviceCodeCredential Kelas

Mengautentikasi pengguna melalui alur kode perangkat.

Ketika get_token dipanggil, kredensial ini memperoleh URL verifikasi dan kode dari Azure Active Directory. Pengguna harus menelusuri ke URL, memasukkan kode, dan mengautentikasi dengan Azure Active Directory. Jika pengguna berhasil mengautentikasi, kredensial akan menerima token akses.

Kredensial ini terutama berguna untuk mengautentikasi pengguna di lingkungan tanpa browser web, seperti sesi SSH. Jika browser web tersedia, InteractiveBrowserCredential lebih nyaman karena secara otomatis membuka browser ke halaman masuk.

Warisan
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)

Parameter

client_id
str
nilai default: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

ID klien pengguna aplikasi akan mengautentikasi. Ketika tidak ditentukan, pengguna akan mengautentikasi ke aplikasi pengembangan Azure.

authority
str

Otoritas titik akhir Azure Active Directory, misalnya "login.microsoftonline.com", otoritas untuk Azure Public Cloud (yang merupakan default). AzureAuthorityHosts mendefinisikan otoritas untuk cloud lain.

tenant_id
str

ID penyewa Azure Active Directory. Default ke penyewa "organisasi", yang dapat mengautentikasi akun kerja atau sekolah. Diperlukan untuk aplikasi penyewa tunggal.

timeout
int

detik untuk menunggu pengguna mengautentikasi. Default ke periode validitas kode perangkat seperti yang ditetapkan oleh Azure Active Directory, yang juga berlaku saat waktu habis lebih lama.

prompt_callback
Callable[str, str, datetime]

Panggilan balik yang memungkinkan kontrol tentang bagaimana instruksi autentikasi disajikan. Harus menerima argumen (verification_uri, user_code, expires_on):

  • verification_uri (str) URL yang harus dikunjungi pengguna

  • user_code (str) kode yang harus dimasukkan pengguna di sana

  • expires_on (datetime.datetime) waktu UTC di mana kode akan kedaluwarsa

Jika argumen ini tidak disediakan, kredensial akan mencetak instruksi ke stdout.

authentication_record
AuthenticationRecord

AuthenticationRecord dikembalikan oleh authenticate

disable_automatic_authentication
bool

jika True, get_token akan muncul AuthenticationRequiredError ketika interaksi pengguna diperlukan untuk memperoleh token. Default ke False.

cache_persistence_options
TokenCachePersistenceOptions

konfigurasi untuk penembolokan token persisten. Jika tidak ditentukan, kredensial akan menyimpan token dalam memori.

disable_instance_discovery
bool

Menentukan apakah penemuan instans dilakukan atau tidak saat mencoba mengautentikasi. Mengatur ini ke true akan sepenuhnya menonaktifkan penemuan instans dan validasi otoritas. Fungsionalitas ini ditujukan untuk digunakan dalam skenario di mana titik akhir metadata tidak dapat dicapai, seperti di cloud privat atau Azure Stack. Proses penemuan instans memerlukan pengambilan metadata otoritas dari https://login.microsoft.com/ untuk memvalidasi otoritas. Dengan mengatur ini ke True, validasi otoritas dinonaktifkan. Akibatnya, sangat penting untuk memastikan bahwa host otoritas yang dikonfigurasi valid dan dapat dipercaya.

Contoh

Buat DeviceCodeCredential.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

Metode

authenticate

Mengautentikasi pengguna secara interaktif.

close
get_token

Meminta token akses untuk cakupan.

Metode ini dipanggil secara otomatis oleh klien Azure SDK.

authenticate

Mengautentikasi pengguna secara interaktif.

authenticate(**kwargs: Any) -> AuthenticationRecord

Parameter

scopes
Iterable[str]

cakupan untuk meminta selama autentikasi, seperti yang disediakan oleh scopes. Jika disediakan, autentikasi yang berhasil akan menyimpan token akses untuk cakupan ini.

claims
str

klaim tambahan yang diperlukan dalam token, seperti yang disediakan oleh claims

Tipe hasil

Pengecualian

autentikasi gagal. Atribut kesalahan message memberikan alasan.

close

close() -> None

Pengecualian

autentikasi gagal. Atribut kesalahan message memberikan alasan.

get_token

Meminta token akses untuk cakupan.

Metode ini dipanggil secara otomatis oleh klien Azure SDK.

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

Parameter

scopes
str
Diperlukan

cakupan yang diinginkan untuk token akses. Metode ini membutuhkan setidaknya satu cakupan. Untuk informasi selengkapnya tentang cakupan, lihat https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

klaim tambahan yang diperlukan dalam token, seperti yang dikembalikan dalam tantangan klaim penyedia sumber daya setelah kegagalan otorisasi

tenant_id
str

penyewa opsional untuk disertakan dalam permintaan token.

enable_cae
bool

menunjukkan apakah akan mengaktifkan Evaluasi Akses Berkelanjutan (CAE) untuk token yang diminta. Default ke False.

Mengembalikan

Token akses dengan cakupan yang diinginkan.

Tipe hasil

Pengecualian

kredensial tidak dapat mencoba autentikasi karena tidak memiliki data, status, atau dukungan platform yang diperlukan

autentikasi gagal. Atribut kesalahan message memberikan alasan.

interaksi pengguna diperlukan untuk memperoleh token, dan kredensial dikonfigurasi untuk tidak memulai ini secara otomatis. Call

untuk memulai autentikasi interaktif.