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.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)
Parameter
- client_id
- str
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.
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 penggunauser_code
(str) kode yang harus dimasukkan pengguna di sanaexpires_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
cakupan untuk meminta selama autentikasi, seperti yang disediakan oleh scopes. Jika disediakan, autentikasi yang berhasil akan menyimpan token akses untuk cakupan ini.
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
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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk