Bagikan melalui


Panduan Cepat: Login pengguna di aplikasi web contoh

Berlaku untuk: Lingkaran hijau dengan simbol tanda centang putih. Penyewa tenaga kerja Lingkaran hijau dengan simbol tanda centang putih. Penyewa eksternal (pelajari selengkapnya)

Dalam panduan memulai cepat ini, Anda menggunakan contoh aplikasi web untuk menunjukkan cara mendaftar pengguna dan memanggil Microsoft Graph API di penyewa organisasi Anda. Aplikasi sampel menggunakan Pustaka Autentikasi Microsoft untuk menangani autentikasi.

Sebelum memulai, gunakan pemilih Pilih jenis penyewa di bagian atas halaman ini untuk menentukan jenis penyewa. Microsoft Entra ID menyediakan dua konfigurasi penyewa, tenaga kerja dan eksternal. Konfigurasi penyewa untuk tenaga kerja ditujukan bagi karyawan, aplikasi internal, dan sumber daya organisasi lainnya. Penyewa eksternal adalah untuk aplikasi yang berinteraksi dengan pelanggan Anda.

Prasyarat

  • Akun Azure dengan langganan aktif. Jika Anda belum memilikinya, Buat akun secara gratis.
  • Akun Azure ini harus memiliki izin untuk mengelola aplikasi. Salah satu peran Microsoft Entra berikut ini menyertakan izin yang diperlukan:
    • Administrator Aplikasi
    • Pengembang Aplikasi
  • Penyewa dari kalangan tenaga kerja. Anda dapat menggunakan Direktori Default Anda atau menyiapkan tenant baru.
  • Visual Studio Code atau editor kode lainnya.
  • Daftarkan aplikasi baru di pusat admin Microsoft Entra, dikonfigurasi hanya untuk Akun di direktori organisasi ini. Lihat Mendaftarkan aplikasi untuk detail selengkapnya. Rekam nilai berikut dari halaman Gambaran Umum aplikasi untuk digunakan nanti:
    • ID Aplikasi (klien)
    • ID Direktori (Penyewa)
  • Tambahkan URI pengalihan berikut menggunakan konfigurasi platform Web . Lihat Cara menambahkan URI pengalihan di aplikasi Anda untuk detail selengkapnya.
    • URI Pengalihan: http://localhost:3000/auth/redirect
    • URL keluar Front-channel: https://localhost:5001/signout-callback-oidc
  • Tambahkan rahasia klien ke pendaftaran aplikasi Anda. Jangan gunakan rahasia klien di aplikasi produksi. Gunakan sertifikat atau kredensial federasi sebagai gantinya. Untuk informasi selengkapnya, lihat menambahkan kredensial ke aplikasi Anda.
  • Node.js

Mengkloning atau mengunduh sampel aplikasi web

Untuk mendapatkan aplikasi sampel, Anda dapat mengkloningnya dari GitHub atau mengunduhnya sebagai file .zip.

  • Unduh file .zip, lalu ekstrak ke path file dengan panjang nama kurang dari 260 karakter atau kloning repositori:

  • 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-node.git
    

Mengonfigurasi contoh aplikasi web

Agar Anda dapat membuat pengguna masuk dengan aplikasi sampel, Anda perlu memperbaruinya dengan detail aplikasi dan penyewa Anda.

Di folder ms-identity-node, buka file App/.env, lalu ganti placeholder berikutnya:

Variabel Deskripsi Contoh
Enter_the_Cloud_Instance_Id_Here Instans cloud Azure tempat aplikasi Anda terdaftar https://login.microsoftonline.com/ (sertakan garis miring setelahnya)
Enter_the_Tenant_Info_here ID Penyewa atau Domain utama contoso.microsoft.com atau aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here ID klien aplikasi yang Anda daftarkan 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Rahasia klien aplikasi yang Anda daftarkan A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here Instans cloud Microsoft Graph API yang dipanggil aplikasi Anda https://graph.microsoft.com/ (sertakan garis miring setelahnya)
Enter_the_Express_Session_Secret_Here String karakter acak yang digunakan untuk menandatangani cookie sesi Ekspres A1b-C2d_E3f.H4...

Setelah Anda membuat perubahan, file Anda akan terlihat mirip dengan cuplikan berikut:

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Menjalankan dan menguji sampel aplikasi web

Anda telah mengonfigurasi aplikasi sampel Anda. Anda dapat melanjutkan untuk menjalankan dan mengujinya.

  1. Untuk memulai server, jalankan perintah berikut dari dalam direktori proyek:

    cd App
    npm install
    npm start
    
  2. Pergi ke http://localhost:3000/.

  3. Pilih Masuk untuk memulai proses masuk.

Saat pertama kali masuk, Anda diminta untuk memberikan persetujuan untuk mengizinkan aplikasi masuk dan mengakses profil Anda. Setelah berhasil masuk, Anda akan diarahkan kembali ke beranda aplikasi.

Cara kerja aplikasi

Sampel menghosting server web di localhost, port 3000. Saat browser web mengakses alamat ini, aplikasi akan merender halaman beranda. Setelah pengguna memilih Masuk, aplikasi akan mengalihkan browser ke layar masuk Microsoft Entra, menggunakan URL yang dibuat oleh pustaka MSAL Node. Setelah persetujuan pengguna, browser mengalihkan pengguna kembali ke beranda aplikasi, bersama dengan ID dan token akses.

Dalam panduan cepat ini, Anda menggunakan contoh aplikasi web untuk menunjukkan cara masuk pengguna di penyewa Anda yang eksternal. Aplikasi sampel menggunakan Pustaka Autentikasi Microsoft untuk menangani autentikasi.

Sebelum memulai, gunakan pemilih Pilih jenis penyewa di bagian atas halaman ini untuk menentukan jenis penyewa. Microsoft Entra ID menyediakan dua konfigurasi penyewa, tenaga kerja dan eksternal. Konfigurasi penyewa untuk tenaga kerja ditujukan bagi karyawan, aplikasi internal, dan sumber daya organisasi lainnya. Penyewa eksternal adalah untuk aplikasi yang berinteraksi dengan pelanggan Anda.

Prasyarat

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, mengunduh sampel .zip file, lalu mengekstraknya ke jalur file di mana panjang nama kurang dari 260 karakter.

Menginstal dependensi proyek

  1. Buka jendela konsol, dan ubah ke direktori yang berisi aplikasi sampel Node.js:

    cd 1-Authentication\5-sign-in-express\App
    
  2. Jalankan perintah berikut untuk menginstal dependensi aplikasi:

    npm install
    

Mengonfigurasi contoh aplikasi web

Agar Anda dapat membuat pengguna masuk dengan aplikasi sampel, Anda perlu memperbaruinya dengan detail aplikasi dan penyewa Anda.

  1. Di editor kode Anda, buka file Aplikasi \authConfig.js.

  2. Temukan tanda pengganti

    • 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 contoso.onmicrosoft.com, gunakan contoso. Jika Anda tidak memiliki nama penyewa, pelajari cara membaca detail penyewa Anda.
    • Enter_the_Client_Secret_Here dan gantilah dengan kunci 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.

  1. Di terminal Anda, jalankan perintah berikut:

    npm start 
    
  2. Buka browser Anda, lalu buka http://localhost:3000. Anda akan melihat halaman yang mirip dengan cuplikan layar berikut:

    Cuplikan layar masuk ke aplikasi web Node.

  3. Setelah halaman selesai dimuat, pilih Masuk saat diminta.

  4. Pada halaman masuk, ketik alamat email Anda, pilih Berikutnya, ketik Kata SandiAnda, lalu pilih Masuk. Jika Anda tidak memiliki akun, pilih Tidak ada akun? Buat satu tautan, yang memulai alur pendaftaran.

  5. 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.

    Cuplikan layar tampilan klaim token ID.

  6. Pilih Keluar untuk mengeluarkan pengguna dari aplikasi web atau pilih Lihat 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 sesi pengguna dan kemudian mengalihkan pengguna ke titik akhir keluar ID Eksternal Microsoft Entra untuk memberitahukannya bahwa pengguna telah keluar.

Jika Anda ingin membuat aplikasi yang mirip dengan sampel yang telah Anda jalankan, selesaikan langkah-langkah dalam artikel Masuk pengguna ke dalam aplikasi web Anda sendiri Node.js.