Bagikan melalui


Gambaran umum ekstensi autentikasi kustom

Alur autentikasi ID Microsoft Entra terdiri dari beberapa peristiwa autentikasi bawaan, seperti validasi kredensial pengguna, kebijakan Akses Bersyarat, autentikasi multifaktor, pengaturan ulang kata sandi mandiri, dan banyak lagi.

Ekstensi autentikasi kustom Microsoft Entra memungkinkan Anda memperluas alur autentikasi dengan logika bisnis Anda sendiri di titik tertentu dalam alur autentikasi. Ekstensi autentikasi kustom pada dasarnya adalah pendengar peristiwa yang, saat diaktifkan, melakukan panggilan HTTP ke titik akhir REST API tempat Anda menentukan tindakan alur kerja.

Misalnya, Anda dapat menggunakan penyedia klaim kustom untuk menambahkan data pengguna eksternal ke token keamanan sebelum token dikeluarkan. Anda dapat menambahkan alur kerja kumpulan atribut untuk memvalidasi atribut yang dimasukkan pengguna selama pendaftaran. Artikel ini menyediakan gambaran umum teknis tingkat tinggi tentang ekstensi autentikasi kustom ID Microsoft Entra.

Video Gambaran Umum Ekstensi Autentikasi Kustom Microsoft Entra menyediakan kerangka komprehensif fitur dan kemampuan utama ekstensi autentikasi kustom.

Ikhtisar komponen

Ada dua komponen yang perlu Anda konfigurasi: ekstensi autentikasi kustom di Microsoft Entra dan REST API. Ekstensi autentikasi kustom menentukan titik akhir REST API Anda, kapan REST API harus dipanggil, dan kredensial untuk memanggil REST API.

Video ini memberikan instruksi terperinci tentang mengonfigurasi ekstensi autentikasi kustom Microsoft Entra dan menawarkan praktik terbaik dan tips berharga untuk implementasi yang optimal.

Alur masuk

Diagram berikut menggambarkan alur masuk yang terintegrasi dengan ekstensi autentikasi kustom.

Diagram yang menunjukkan token yang ditambahkan dengan klaim dari sumber eksternal.

  1. Pengguna mencoba masuk ke aplikasi dan dialihkan ke halaman masuk Microsoft Entra.
  2. Setelah pengguna menyelesaikan langkah tertentu dalam autentikasi, pendengar kejadian dipicu.
  3. Ekstensi autentikasi kustom Anda mengirimkan permintaan HTTP ke titik akhir REST API Anda. Permintaan berisi informasi tentang peristiwa, profil pengguna, data sesi, dan informasi konteks lainnya.
  4. REST API melakukan alur kerja kustom.
  5. REST API mengembalikan respons HTTP ke ID Microsoft Entra.
  6. Ekstensi autentikasi kustom Microsoft Entra memproses respons dan menyesuaikan autentikasi berdasarkan jenis peristiwa dan payload respons HTTP.
  7. Token dikembalikan ke aplikasi.

Titik akhir REST API

Saat peristiwa dipicu, MICROSOFT Entra ID memanggil titik akhir REST API yang Anda miliki. REST API harus dapat diakses secara publik. Ini dapat dihosting menggunakan Azure Functions, Azure App Service, Azure Logic Apps, atau titik akhir API lain yang tersedia untuk umum.

Anda memiliki fleksibilitas untuk menggunakan bahasa pemrograman, kerangka kerja, atau solusi kode rendah tanpa kode, seperti Azure Logic Apps untuk mengembangkan dan menyebarkan REST API Anda. Untuk cara cepat memulai, pertimbangkan untuk menggunakan Azure Function. Ini memungkinkan Anda menjalankan kode di lingkungan tanpa server tanpa harus terlebih dahulu membuat komputer virtual (VM) atau menerbitkan aplikasi web.

REST API Anda harus menangani:

Tonton video ini untuk mempelajari cara membuat titik akhir REST API ekstensi autentikasi dengan Azure Logic Apps, tanpa menulis kode. Azure Logic App memberdayakan pengguna untuk membangun alur kerja menggunakan perancang visual. Video ini mencakup penyesuaian email verifikasi, dan berlaku untuk semua jenis ekstensi autentikasi kustom, termasuk penyedia klaim kustom.

Permintaan muatan

Permintaan ke REST API mencakup payload JSON yang berisi detail tentang peristiwa, profil pengguna, data permintaan autentikasi, dan informasi konteks lainnya. Atribut dalam payload JSON dapat digunakan untuk melakukan logika oleh API Anda.

Misalnya, dalam acara mulai penerbitan Token, muatan permintaan dapat menyertakan pengidentifikasi unik pengguna, memungkinkan Anda untuk mengakses profil pengguna dari database Anda sendiri. Data payload permintaan harus mengikuti skema seperti yang ditentukan dalam dokumen peristiwa.

Mengembalikan data dan jenis tindakan

Setelah API web Anda melakukan alur kerja dengan logika bisnis Anda, API harus mengembalikan jenis tindakan yang mengarahkan Microsoft Entra tentang cara melanjutkan proses autentikasi.

Misalnya, dalam kasus pengumpulan atribut mulai dan pengumpulan atribut kirim peristiwa-peristiwa, jenis tindakan yang dikembalikan oleh API web Anda menunjukkan apakah akun dapat dibuat di direktori, menampilkan kesalahan validasi, atau sepenuhnya memblokir alur pendaftaran.

Respons REST API dapat mencakup data. Misalnya, peristiwa mulai penerbitan token dapat menyediakan sekumpulan atribut yang dapat dipetakan ke token keamanan.

Lindungi REST API Anda

Untuk memastikan komunikasi antara ekstensi autentikasi kustom dan REST API Anda diamankan dengan tepat, beberapa kontrol keamanan harus diterapkan.

  1. Saat ekstensi autentikasi kustom memanggil REST API Anda, ekstensi ini mengirim header HTTP Authorization dengan token pembawa yang dikeluarkan oleh ID Microsoft Entra.
  2. Token pembawa berisi klaim appid atau azp. Validasi bahwa klaim masing-masing berisi 99045fe1-7639-4a75-9d4a-577b6ca3810f nilai . Nilai ini memastikan bahwa ID Microsoft Entra adalah orang yang memanggil REST API.
    1. Untuk Aplikasi V1, validasi appid klaim.
    2. Untuk Aplikasi V2, validasi azp pernyataan.
  3. Klaim audiens pembawa token aud berisi ID pendaftaran aplikasi berhubungan. Titik akhir REST API Anda perlu memvalidasi bahwa token pembawa dikeluarkan untuk audiens tertentu tersebut.
  4. Klaim token pembawa penerbit iss berisi URL penerbit Microsoft Entra. Bergantung pada konfigurasi penyewa Anda, URL penerbit adalah salah satu dari berikut ini;
    • Tenaga kerja: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Pelanggan: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Jenis peristiwa autentikasi kustom

Bagian ini mencantumkan acara ekstensi autentikasi kustom yang tersedia di Microsoft Entra ID untuk tenaga kerja dan penyewa eksternal. Untuk informasi terperinci tentang peristiwa, lihat dokumentasi masing-masing.

Peristiwa Penyewa tenaga kerja Penyewa eksternal
Mulai penerbitan token
Pengumpulan atribut dimulai
Pengiriman koleksi atribut
Satu kali pengiriman kode sandi

Mulai penerbitan token

Peristiwa mulai penerbitan token, onTokenIssuanceStart dipicu ketika token akan dikeluarkan ke aplikasi. Ini adalah jenis peristiwa yang disiapkan dalam penyedia klaim khusus. Penyedia klaim kustom adalah ekstensi autentikasi kustom yang memanggil REST API untuk mengambil klaim dari sistem eksternal. Penyedia klaim kustom memetakan klaim dari sistem eksternal ke dalam token dan dapat ditetapkan ke satu atau banyak aplikasi di direktori Anda.

Pengumpulan atribut dimulai

Peristiwa mulai pengumpulan atribut dapat digunakan dengan ekstensi autentikasi kustom untuk menambahkan logika sebelum atribut dikumpulkan dari pengguna. Peristiwa OnAttributeCollectionStart terjadi di awal langkah pengumpulan atribut, sebelum halaman pengumpulan atribut dirender. Ini memungkinkan Anda menambahkan tindakan seperti nilai pra-pengisian dan menampilkan kesalahan pemblokiran.

Pengajuan koleksi atribut

Peristiwa pengiriman kumpulan atribut dapat digunakan dengan ekstensi autentikasi kustom untuk menambahkan logika setelah atribut dikumpulkan dari pengguna. Peristiwa OnAttributeCollectionSubmit memicu setelah pengguna memasukkan dan mengirimkan atribut, memungkinkan Anda menambahkan tindakan seperti memvalidasi entri atau memodifikasi atribut.

Satu kali pengiriman kode sandi

Peristiwa OnOtpSend dipicu ketika email kode sandi satu kali diaktifkan. Ini memungkinkan Anda untuk memanggil REST API untuk menggunakan penyedia email Anda sendiri. Kejadian ini dapat digunakan untuk mengirim email yang disesuaikan kepada pengguna yang mendaftar dengan alamat email, masuk dengan kode akses satu kali email (Email OTP), mengatur ulang kata sandi mereka menggunakan Email OTP, atau menggunakan Email OTP untuk autentikasi multifaktor (MFA).

Saat peristiwa OnOtpSend diaktifkan, Microsoft Entra mengirimkan kata sandi sekali pakai ke REST API yang Anda miliki. REST API kemudian menggunakan penyedia email pilihan Anda, seperti Azure Communication Service atau SendGrid, untuk mengirim kode akses satu kali dengan templat email kustom Anda, dari alamat, dan subjek email, sekaligus mendukung pelokalan.