Bagikan melalui


Autentikasi Azure dengan kredensial pengguna

Artikel ini melihat bagaimana pustaka Azure Identity mendukung autentikasi token Microsoft Entra dengan kredensial yang disediakan pengguna. Dukungan ini dimungkinkan melalui serangkaian implementasi TokenCredential yang dibahas dalam artikel ini.

Artikel ini membahas subjek berikut:

  • Kredensial kode perangkat
  • Kredensial browser interaktif

Kredensial kode perangkat

Kredensial kode perangkat mengautentikasi pengguna secara interaktif di perangkat dengan UI terbatas. Ini berfungsi dengan meminta pengguna untuk mengunjungi URL masuk pada komputer yang diaktifkan browser saat aplikasi mencoba mengautentikasi. Pengguna kemudian memasukkan kode perangkat yang disebutkan dalam instruksi bersama dengan kredensial masuk mereka. Setelah autentikasi berhasil, aplikasi yang meminta autentikasi berhasil diautentikasi pada perangkat yang dijalankannya.

Untuk informasi selengkapnya, lihat Platform identitas Microsoft dan alur pemberian otorisasi perangkat OAuth 2.0.

Mengaktifkan aplikasi untuk alur kode perangkat

Untuk mengautentikasi pengguna melalui alur kode perangkat, lakukan langkah-langkah berikut:

  1. Buka ID Microsoft Entra di portal Azure dan temukan pendaftaran aplikasi Anda.
  2. Navigasikan ke bagian Autentikasi.
  3. Di bawah URI Pengalihan yang Disarankan, periksa URI yang diakhiri dengan /common/oauth2/nativeclient.
  4. Di bawah Default Client Type, pilih yes untuk Treat application as a public client.

Langkah-langkah ini memungkinkan aplikasi untuk mengautentikasi, tetapi masih tidak memiliki izin untuk memasukkan Anda ke ID Microsoft Entra, atau mengakses sumber daya atas nama Anda. Untuk mengatasi masalah ini, navigasikan ke Izin API, dan aktifkan Microsoft Graph dan sumber daya yang ingin Anda akses, seperti Key Vault.

Anda juga harus menjadi admin penyewa untuk memberikan persetujuan ke aplikasi Anda saat masuk untuk pertama kalinya.

Jika Anda tidak dapat mengonfigurasi opsi alur kode perangkat di ID Microsoft Entra Anda, aplikasi mungkin mengharuskan aplikasi Anda menjadi multi-penyewa. Untuk membuat aplikasi Anda multi-tenant, navigasikan ke panel Autentikasi, lalu pilih Akun di direktori organisasi apa pun. Kemudian, pilih ya untuk Perlakukan aplikasi sebagai Klien Publik.

Mengautentikasi akun pengguna dengan alur kode perangkat

Contoh berikut menunjukkan cara mengautentikasi c0 dari pustaka klien Azure Key Vault Secret untuk Java menggunakan c2 pada perangkat IoT.

/**
 * Authenticate with device code credential.
 */
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
    .challengeConsumer(challenge -> {
    // Lets the user know about the challenge.
    System.out.println(challenge.getMessage());
    }).build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your Key Vault name>.vault.azure.net")
    .credential(deviceCodeCredential)
    .buildClient();

Info masuk browser interaktif

Info masuk ini secara interaktif mengautentikasi pengguna dengan browser sistem default dan menawarkan pengalaman autentikasi yang lancar dengan membiarkan Anda menggunakan info masuk Anda sendiri untuk mengautentikasi aplikasi Anda.

Mengaktifkan penggunaan aplikasi untuk alur OAuth 2 browser interaktif

Untuk menggunakan InteractiveBrowserCredential, Anda perlu mendaftarkan aplikasi di Microsoft Entra ID dengan izin untuk masuk atas nama pengguna. Ikuti langkah-langkah sebelumnya untuk alur kode perangkat untuk mendaftarkan aplikasi Anda. Seperti disebutkan sebelumnya, admin penyewa Anda harus memberikan persetujuan ke aplikasi Anda sebelum akun pengguna apa pun dapat masuk.

Anda mungkin menyadari bahwa dalam InteractiveBrowserCredentialBuilder, URL pengalihan diperlukan. Tambahkan URL pengalihan ke URI Pengalihan subbagian di bawah Autentikasi bagian dari aplikasi Microsoft Entra terdaftar Anda.

Mengautentikasi akun pengguna secara interaktif di browser

Contoh berikut mendemonstrasikan cara mengautentikasi SecretClient dari pustaka klien azure-security-keyvault-secrets menggunakan InteractiveBrowserCredential.

/**
 * Authenticate interactively in the browser.
 */
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
    .clientId("<your app client ID>")
    .redirectUrl("YOUR_APP_REGISTERED_REDIRECT_URL")
    .build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your Key Vault name>.vault.azure.net")
    .credential(interactiveBrowserCredential)
    .buildClient();

Langkah berikutnya

Artikel ini membahas autentikasi dengan kredensial pengguna. Bentuk autentikasi ini adalah salah satu dari beberapa cara yang dapat Anda gunakan untuk melakukan autentikasi di Azure SDK for Java. Artikel berikut menjelaskan cara yang lain:

Setelah Anda menguasai autentikasi, lihat Mengonfigurasi pengelogan di Azure SDK for Java untuk informasi tentang fungsi pencatatan yang disediakan oleh SDK.