Memasukkan pengguna dalam contoh aplikasi web Node.js
Panduan ini menggunakan contoh aplikasi web Node.js untuk menunjukkan kepada Anda cara menambahkan autentikasi ke aplikasi web. Aplikasi sampel memungkinkan pengguna untuk masuk dan keluar. Aplikasi web sampel menggunakan Microsoft Authentication Library for Node (MSAL Node) untuk Node untuk menangani autentikasi.
Dalam artikel ini, Anda melakukan tugas berikut:
Daftarkan aplikasi web di pusat admin Microsoft Entra.
Buat alur pengguna masuk dan keluar di pusat admin Microsoft Entra.
Kaitkan aplikasi web Anda dengan alur pengguna.
Perbarui sampel Node.js aplikasi web menggunakan detail penyewa eksternal Anda sendiri.
Jalankan dan uji sampel aplikasi web.
Prasyarat
- Visual Studio Code, atau editor kode lainnya.
- Node.js.
- .NET 7.0 atau yang lebih baru.
- Penyewa eksternal. Untuk membuatnya, pilih dari metode berikut:
- (Disarankan) Gunakan ekstensi ID Eksternal Microsoft Entra untuk menyiapkan penyewa eksternal langsung di Visual Studio Code.
- Buat penyewa eksternal baru di pusat admin Microsoft Entra.
Mendaftarkan aplikasi web
Untuk mengaktifkan aplikasi Anda untuk memasukkan pengguna dengan Microsoft Entra, MICROSOFT Entra External ID harus mengetahui aplikasi yang Anda buat. Pendaftaran aplikasi membangun hubungan kepercayaan antara aplikasi dan Microsoft Entra. Saat Anda mendaftarkan aplikasi, ID Eksternal menghasilkan pengidentifikasi unik yang dikenal sebagai ID Aplikasi (klien), nilai yang digunakan untuk mengidentifikasi aplikasi Anda saat membuat permintaan autentikasi.
Langkah-langkah berikut menunjukkan cara mendaftarkan aplikasi Anda di pusat admin Microsoft Entra:
Masuk ke pusat admin Microsoft Entra setidaknya sebagai Pengembang Aplikasi.
Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa eksternal Anda dari menu Direktori + langganan.
Telusuri Aplikasi >Identitas>Pendaftaran aplikasi.
Pilih + Pendaftaran baru.
Di halaman Daftarkan aplikasi yang muncul;
- Masukkan Nama aplikasi yang bermakna yang ditampilkan kepada pengguna aplikasi, misalnya ciam-client-app.
- Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
Pilih Daftarkan.
Panel Gambaran Umum aplikasi ditampilkan setelah pendaftaran berhasil. Rekam ID Aplikasi (klien) yang akan digunakan dalam kode sumber aplikasi Anda.
Untuk menentukan jenis aplikasi ke pendaftaran aplikasi Anda, ikuti langkah-langkah berikut:
- Di bagian Kelola, pilih Autentikasi.
- Pada halaman Konfigurasi platform , pilih Tambahkan platform, lalu pilih opsi Web .
- Untuk URI Pengalihan masukkan
http://localhost:3000/auth/redirect
. - Pilih Konfigurasikan untuk menyimpan perubahan Anda.
Menambahkan rahasia klien aplikasi
Buat rahasia klien untuk aplikasi terdaftar. Aplikasi ini menggunakan rahasia klien untuk membuktikan identitasnya ketika meminta token.
- Dari halaman Pendaftaran aplikasi, pilih aplikasi yang Anda buat (seperti ciam-client-app) untuk membuka halaman Gambaran Umumnya.
- Di bagian Kelola, pilih Sertifikat & rahasia.
- Pilih Rahasia klien baru.
- Dalam kotak Deskripsi , masukkan deskripsi untuk rahasia klien (misalnya, rahasia klien aplikasi ciam).
- Di bawah Kedaluwarsa, pilih durasi yang rahasianya valid (sesuai aturan keamanan organisasi Anda), lalu pilih Tambahkan.
- Catat Nilai rahasia. Anda akan menggunakan nilai ini untuk konfigurasi pada langkah selanjutnya. Nilai rahasia tidak akan ditampilkan lagi, dan tidak dapat diambil dengan cara apa pun, setelah Anda menavigasi jauh dari Sertifikat dan rahasia. Pastikan Anda merekamnya.
Memberikan izin admin
Setelah Anda mendaftarkan aplikasi, aplikasi akan diberi izin User.Read . Namun, karena penyewa adalah penyewa eksternal, pengguna pelanggan itu sendiri tidak dapat menyetujui izin ini. Anda sebagai admin harus menyetujui izin ini atas nama semua pengguna di penyewa:
Dari halaman Pendaftaran aplikasi, pilih aplikasi yang Anda buat (seperti ciam-client-app) untuk membuka halaman Gambaran Umumnya.
Di bagian Kelola, pilih Izin API.
- Pilih Berikan persetujuan admin untuk <nama> penyewa Anda, lalu pilih Ya.
- Pilih Refresh, lalu verifikasi bahwa Diberikan untuk <nama> penyewa Anda muncul di bawah Status untuk izin tersebut.
Membuat alur pengguna
Ikuti langkah-langkah ini untuk membuat alur pengguna yang dapat digunakan pelanggan untuk masuk atau mendaftar ke aplikasi.
Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Alur Pengguna ID Eksternal.
Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa eksternal Anda dari menu Direktori + langganan.
Telusuri ke >Identitas Eksternal Identitas>Alur pengguna.
Pilih + Alur pengguna baru.
Pada halaman Buat :
Masukkan Nama untuk alur pengguna, seperti SignInSignUpSample.
Di daftar Penyedia identitas, pilih Akun Email. IdP ini memungkinkan pengguna untuk masuk atau mendaftar menggunakan alamat email mereka.
Di bawah Akun email, Anda bisa memilih salah satu dari dua opsi. Untuk tutorial ini, pilih Email dengan kata sandi.
- Email dengan kata sandi: Memungkinkan pengguna baru untuk mendaftar dan masuk menggunakan alamat email sebagai nama masuk dan kata sandi sebagai kredensial faktor pertama mereka.
- Kode akses satu kali email: Memungkinkan pengguna baru untuk mendaftar dan masuk menggunakan alamat email sebagai nama masuk dan kode akses satu kali email sebagai kredensial faktor pertama mereka. Kode akses satu kali email harus diaktifkan di tingkat penyewa (Semua Kode sandi Satu kali Email Penyedia>Identitas) agar opsi ini tersedia di tingkat alur pengguna.
Di bawah Atribut pengguna, pilih atribut yang ingin Anda kumpulkan dari pengguna saat mendaftar. Dengan memilih Tampilkan lainnya, Anda dapat memilih atribut dan klaim untuk Negara/Wilayah, Nama Tampilan, dan Kode Pos. Pilih OK. (Pengguna hanya dimintai atribut saat mendaftar untuk pertama kalinya.)
Pilih Buat. Alur pengguna baru muncul di daftar Alur pengguna. Jika perlu, refresh halaman.
Untuk mengaktifkan pengaturan ulang kata sandi mandiri, gunakan langkah-langkah dalam artikel Mengaktifkan pengaturan ulang kata sandi mandiri.
Mengaitkan aplikasi web dengan alur pengguna
Agar pengguna pelanggan dapat melihat pengalaman pendaftaran atau masuk saat mereka menggunakan aplikasi, Anda perlu mengaitkan aplikasi Anda dengan alur pengguna. Meskipun banyak aplikasi dapat dikaitkan dengan alur pengguna Anda, satu aplikasi hanya dapat dikaitkan dengan satu alur pengguna.
Pada menu bilah samping, pilih Identitas.
Pilih Identitas Eksternal, lalu Alur pengguna.
Di halaman Alur pengguna, pilih Nama alur pengguna yang Anda buat sebelumnya, misalnya, SignInSignUpSample.
Di bawah Gunakan, pilih Aplikasi.
Pilih Tambahkan aplikasi.
Pilih aplikasi dari daftar seperti ciam-client-app atau gunakan kotak pencarian untuk menemukan aplikasi, lalu pilih.
Memilih Pilih.
Setelah mengaitkan aplikasi dengan alur pengguna, Anda dapat menguji alur pengguna dengan mensimulasikan pengalaman pendaftaran atau masuk pengguna dengan aplikasi Anda dari dalam pusat admin Microsoft Entra. Untuk melakukannya, gunakan langkah-langkah dalam Menguji alur pengguna pendaftaran dan masuk Anda.
Mengkloning atau mengunduh sampel aplikasi web
Untuk mendapatkan aplikasi sampel, Anda dapat mengkloningnya dari GitHub atau mengunduhnya sebagai file .zip:
Untuk mengkloning sampel, buka prompt perintah dan navigasi ke tempat Anda ingin membuat proyek, dan masukkan perintah berikut:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
Atau, unduh sampel file .zip, lalu ekstrak ke jalur file di mana panjang nama kurang dari 260 karakter.
Menginstal dependensi proyek
Buka jendela konsol, dan ubah ke direktori yang berisi aplikasi sampel Node.js:
cd 1-Authentication\5-sign-in-express\App
Jalankan perintah berikut untuk menginstal dependensi aplikasi:
npm install
Mengonfigurasi contoh aplikasi web
Di editor kode Anda, buka file App\authConfig.js .
Temukan tempat penampung:
Enter_the_Application_Id_Here
dan ganti dengan ID Aplikasi (klien) aplikasi yang Anda daftarkan sebelumnya.Enter_the_Tenant_Subdomain_Here
dan ganti dengan subdomain Direktori (penyewa). Misalnya, jika domain utama penyewa Anda adalahcontoso.onmicrosoft.com
, gunakancontoso
. Jika Anda tidak memiliki nama penyewa, pelajari cara membaca detail penyewa Anda.Enter_the_Client_Secret_Here
dan ganti dengan nilai rahasia aplikasi yang Anda salin sebelumnya.
Menjalankan dan menguji sampel aplikasi web
Sekarang Anda dapat menguji sampel aplikasi web Node.js. Anda perlu memulai server Node.js dan mengaksesnya melalui browser Anda di http://localhost:3000
.
Di terminal Anda, jalankan perintah berikut:
npm start
Buka browser Anda, lalu buka
http://localhost:3000
. Anda akan melihat halaman yang mirip dengan cuplikan layar berikut:Setelah halaman selesai dimuat, pilih Tautan masuk . Anda diminta untuk masuk.
Pada halaman masuk, ketik alamat Email Anda, pilih Berikutnya, ketik Kata Sandi Anda, lalu pilih Masuk. Jika Anda tidak memiliki akun, pilih Tidak ada akun? Buat satu tautan, yang memulai alur pendaftaran.
Jika Anda memilih opsi pendaftaran, setelah mengisi email, kode sandi satu kali, kata sandi baru, dan detail akun lainnya, Anda menyelesaikan seluruh alur pendaftaran. Anda melihat halaman yang mirip dengan cuplikan layar berikut. Anda akan melihat halaman serupa jika Anda memilih opsi masuk.
Pilih Keluar untuk mengeluarkan pengguna dari aplikasi web atau pilih Tampilkan klaim token ID untuk melihat klaim token ID yang dikembalikan oleh Microsoft Entra.
Cara kerjanya
Saat pengguna memilih tautan Masuk , aplikasi memulai permintaan autentikasi dan mengalihkan pengguna ke ID Eksternal Microsoft Entra. Pada halaman masuk atau pendaftaran yang muncul, setelah pengguna berhasil masuk atau membuat akun, MICROSOFT Entra External ID mengembalikan token ID ke aplikasi. Aplikasi memvalidasi token ID, membaca klaim, dan mengembalikan halaman aman kepada pengguna.
Saat pengguna memilih tautan Keluar , aplikasi menghapus sesinya, mengalihkan pengguna ke titik akhir keluar ID Eksternal Microsoft Entra untuk memberi tahu mereka bahwa pengguna telah keluar.
Jika Anda ingin membuat aplikasi yang mirip dengan sampel yang telah Anda jalankan, selesaikan langkah-langkah dalam artikel Memasukkan pengguna di aplikasi web Node.js Anda sendiri.