Bagikan melalui


Mengautentikasi aplikasi JavaScript ke layanan Azure selama pengembangan lokal menggunakan autentikasi broker

Autentikasi broker mengumpulkan kredensial pengguna menggunakan broker autentikasi sistem untuk mengautentikasi aplikasi. Broker autentikasi sistem adalah aplikasi yang berjalan di komputer pengguna yang mengelola jabat tangan autentikasi dan pemeliharaan token untuk semua akun yang terhubung.

Autentikasi broker menawarkan manfaat berikut:

  • Mengaktifkan Single Sign-On (SSO): Memungkinkan aplikasi menyederhanakan cara pengguna mengautentikasi dengan ID Microsoft Entra dan melindungi token refresh ID Microsoft Entra dari eksfiltrasi dan penyalahgunaan.
  • Keamanan yang ditingkatkan: Banyak peningkatan keamanan dikirimkan dengan broker, tanpa perlu memperbarui logika aplikasi.
  • Dukungan fitur yang ditingkatkan: Dengan bantuan broker, pengembang dapat mengakses OS yang kaya dan kemampuan layanan.
  • Integrasi sistem: Aplikasi yang menggunakan broker plug-and-play dengan pemilih akun bawaan, memungkinkan pengguna untuk dengan cepat memilih akun yang ada alih-alih memasukkan kembali kredensial yang sama berulang-ulang.
  • Perlindungan Token: Memastikan bahwa token refresh terikat perangkat dan memungkinkan aplikasi memperoleh token akses terikat perangkat. Lihat Perlindungan Token.

Windows menyediakan broker autentikasi yang disebut Web Account Manager (WAM). WAM memungkinkan penyedia identitas seperti MICROSOFT Entra ID untuk secara asli terhubung ke OS dan menyediakan layanan masuk yang aman ke aplikasi. Autentikasi broker memungkinkan aplikasi untuk semua operasi yang diizinkan oleh info masuk masuk interaktif.

Akun Microsoft pribadi dan akun kantor atau sekolah didukung. Pada versi Windows yang didukung, UI berbasis browser default diganti dengan pengalaman autentikasi yang lebih lancar, mirip dengan aplikasi Windows bawaan.

Linux menggunakan akses menyeluruh Microsoft untuk Linux sebagai broker autentikasinya.

Mengonfigurasi aplikasi untuk autentikasi broker

Untuk mengaktifkan autentikasi broker di aplikasi Anda, ikuti langkah-langkah berikut:

  1. Di portal Microsoft Azure, navigasikan ke ID Microsoft Entra dan pilih Pendaftaran aplikasi di menu sebelah kiri.

  2. Pilih pendaftaran untuk aplikasi Anda, lalu pilih Autentikasi.

  3. Tambahkan URI pengalihan yang sesuai ke pendaftaran aplikasi Anda melalui konfigurasi platform:

    1. Di bawah Konfigurasi platform, pilih + Tambahkan platform.

    2. Di bawah Konfigurasikan platform, pilih petak peta untuk jenis aplikasi (platform) Anda untuk mengonfigurasi pengaturannya, seperti aplikasi seluler dan desktop.

    3. Di URI pengalihan kustom, masukkan URI pengalihan berikut untuk platform Anda:

      Platform Pengalihan URI
      Windows 10+ atau WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}
      macOS msauth.com.msauth.unsignedapp://auth untuk aplikasi yang tidak ditandatangani
      msauth.{bundle_id}://auth untuk aplikasi yang ditandatangani
      Linux https://login.microsoftonline.com/common/oauth2/nativeclient

      Ganti {your_client_id} atau {bundle_id} dengan ID Aplikasi (klien) dari panel Gambaran Umum pendaftaran aplikasi.

    4. Pilih Konfigurasikan.

    Untuk mempelajari selengkapnya, lihat Menambahkan URI pengalihan ke pendaftaran aplikasi.

  4. Kembali ke panel Autentikasi , di bawah Pengaturan tingkat lanjut, pilih Ya untuk Izinkan alur klien publik.

  5. Pilih Simpan untuk menerapkan perubahan.

  6. Untuk mengotorisasi aplikasi untuk sumber daya tertentu, navigasikan ke sumber daya yang dimaksud, pilih Izin API, dan aktifkan Microsoft Graph dan sumber daya lain yang ingin Anda akses.

    Penting

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

Menetapkan peran

Agar kode aplikasi Anda berhasil dijalankan dengan autentikasi broker, berikan izin akun pengguna Anda menggunakan kontrol akses berbasis peran Azure (RBAC). Tetapkan peran yang sesuai ke akun pengguna Anda untuk layanan Azure yang relevan. Contohnya:

  • Azure Blob Storage: Tetapkan peran Kontributor Data Akun Penyimpanan .
  • Azure Key Vault: Tetapkan peran Petugas Rahasia Key Vault .

Jika aplikasi ditentukan, aplikasi harus memiliki izin API yang ditetapkan untuk user_impersonation Access Azure Storage (langkah 6 di bagian sebelumnya). Izin API ini memungkinkan aplikasi untuk mengakses penyimpanan Azure atas nama pengguna yang masuk setelah persetujuan diberikan selama masuk.

Menerapkan kode

Pustaka Azure Identity mendukung autentikasi broker menggunakan InteractiveBrowserCredential. Misalnya, untuk digunakan InteractiveBrowserCredential dalam aplikasi konsol Node.js untuk mengautentikasi ke Azure Key Vault dengan SecretClient, ikuti langkah-langkah berikut:

  1. Instal paket @azure/identity dan @azure/identity-broker :

    npm install @azure/identity @azure/identity-broker
    
  2. Buat instans InteractiveBrowserCredential menggunakan opsi broker dan daftarkan plugin broker asli:

    import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
    import { nativeBrokerPlugin } from "@azure/identity-broker";
    
    // Register the native broker plugin for brokered authentication
    useIdentityPlugin(nativeBrokerPlugin);
    
    // Use InteractiveBrowserCredential with broker for interactive or silent authentication
    
    // On Windows: Uses Windows Authentication Manager (WAM) - you'll be prompted to sign in
    // On macOS: Opens a browser window for authentication, since the broker flow isn't currently supported.
    // On Linux: Uses Microsoft Single Sign-on (SSO) for Linux.
    
    const credential = new InteractiveBrowserCredential({
        brokerOptions: {
            enabled: true,
            useDefaultBrokerAccount: true,
            // For Node.js console apps, we need to provide an empty buffer for parentWindowHandle
            parentWindowHandle: new Uint8Array(0),
        },
    });
    

Petunjuk / Saran

Lihat contoh kode aplikasi lengkap di repositori GitHub Azure SDK for JavaScript.

Dalam contoh sebelumnya, properti useDefaultBrokerAccount diatur ke true, yang memilih alur autentikasi diam dan diantarai dengan akun sistem default. Dengan cara ini, pengguna tidak perlu berulang kali memilih akun yang sama. Jika diam, autentikasi broker gagal, atau useDefaultBrokerAccount diatur ke false, InteractiveBrowserCredential kembali ke autentikasi interaktif dan broker.

Cuplikan layar berikut menunjukkan pengalaman autentikasi interaktif dan broker alternatif:

Cuplikan layar yang menunjukkan pengalaman masuk Windows saat menggunakan instans InteractiveBrowserCredential berkemampuan broker untuk mengautentikasi pengguna.

Video berikut menunjukkan pengalaman autentikasi interaktif dan broker alternatif:

Gif animasi yang menunjukkan pengalaman masuk Linux saat menggunakan instans InteractiveBrowserCredential berkemampuan broker untuk mengautentikasi pengguna.