Bagikan melalui


Tambahkan masuk dengan akun Microsoft Entra ke aplikasi web Spring

Artikel ini memperlihatkan kepada Anda cara mengembangkan aplikasi web Spring yang mendukung masuk dengan akun Microsoft Entra. Setelah menyelesaikan semua langkah dalam artikel ini, aplikasi web akan dialihkan ke halaman masuk Microsoft Entra saat diakses secara anonim. Cuplikan layar berikut menunjukkan halaman masuk Microsoft Entra:

Cuplikan layar dialog 'Masuk' aplikasi.

Prasyarat

Prasyarat berikut diperlukan untuk menyelesaikan langkah-langkah dalam artikel ini:

  • Java Development Kit (JDK) yang didukung. Untuk informasi selengkapnya tentang JDK yang tersedia untuk digunakan saat mengembangkan di Azure, lihat dukungan Java di Azure dan Azure Stack.
  • Apache Maven, versi 3.0 atau yang lebih tinggi.
  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis .

Penting

Spring Boot versi 2.5 atau yang lebih tinggi diperlukan untuk menyelesaikan langkah-langkah dalam artikel ini.

Membuat aplikasi menggunakan Spring Initializr

  1. Telusuri menuju https://start.spring.io/.

  2. Tentukan bahwa Anda ingin membuat proyek Maven dengan Java, masukkan nama Grup dan Artefak untuk aplikasi Anda.

  3. Tambahkan Dependensi untuk Spring Web, Microsoft Entra ID, dan OAuth2 Client.

  4. Di bagian bawah halaman, pilih tombol GENERATE.

  5. Ketika diminta, unduh proyek ke salah satu direktori di komputer lokal Anda.

Membuat instans Microsoft Entra

Membuat instans Direktori Aktif

Jika Anda adalah administrator instans yang ada, Anda dapat melewati proses ini.

  1. Masuk ke https://portal.azure.com.

  2. Pilih Semua layanan, lalu Identitas, lalu ID Microsoft Entra.

  3. Masukkan nama Organisasi dan nama domain Awal Anda. Salin URL lengkap direktori Anda. Anda akan menggunakan URL untuk menambahkan akun pengguna nanti dalam tutorial ini. (Misalnya: azuresampledirectory.onmicrosoft.com.)

    Salin URL lengkap direktori Anda. Anda akan menggunakan URL untuk menambahkan akun pengguna nanti dalam tutorial ini. (Misalnya: azuresampledirectory.onmicrosoft.com.).

    Setelah selesai, pilih Buat. Dibutuhkan beberapa menit untuk membuat sumber daya baru.

  4. Setelah selesai, pilih tautan yang ditampilkan untuk mengakses direktori baru.

  5. Salin ID Penyewa . Anda akan menggunakan nilai ID untuk mengonfigurasi file application.properties Anda nanti dalam tutorial ini.

Menambahkan pendaftaran aplikasi untuk aplikasi Spring Boot Anda

  1. Dari menu portal, pilih Pendaftaran aplikasi, lalu pilih Daftarkan aplikasi.

  2. Tentukan aplikasi Anda, lalu pilih Daftarkan.

  3. Saat halaman untuk pendaftaran aplikasi Anda muncul, salin ID Aplikasi (klien) dan ID Direktori (penyewa) . Anda akan menggunakan nilai-nilai ini untuk mengonfigurasi file application.properties Anda nanti dalam tutorial ini.

  4. Pilih Sertifikat & rahasia di panel navigasi. Kemudian, pilih Rahasia klien baru.

    Cuplikan layar aplikasi 'Rahasia Sertifikat &' dengan 'Rahasia klien baru' disorot.

  5. Tambahkan Deskripsi dan pilih durasi di daftar kedaluwarsa. Pilih Tambahkan. Nilai untuk kunci akan diisi secara otomatis.

  6. Salin dan simpan nilai rahasia klien untuk mengonfigurasi file application.properties Anda nanti dalam tutorial ini. (Anda tidak akan dapat mengakses nilai ini nanti.)

    Cuplikan layar aplikasi dengan rahasia klien baru disorot.

  7. Dari halaman utama untuk pendaftaran aplikasi Anda, pilih Authentication, dan pilih Tambahkan platform. Kemudian pilih aplikasi web .

  8. UntukURI Pengalihan baru, masukkan , lalu pilih Konfigurasikan.

  9. Jika Anda telah memodifikasi file pom.xml untuk menggunakan versi awal Microsoft Entra yang lebih lama dari 3.0.0: di bawah Pemberian implisit dan alur hibrid, pilih token ID (digunakan untuk alur implisit dan hibrid), lalu pilih Simpan.

Tambahkan akun pengguna ke direktori Anda, dan tambahkan akun tersebut ke appRole

  1. Dari halaman Gambaran Umum Direktori Aktif Anda, pilih Pengguna, lalu pilih Pengguna baru.

  2. Saat panel Pengguna ditampilkan, masukkan Nama pengguna dan Nama. Lalu pilih Buat.

    Cuplikan layar dialog 'Pengguna baru'.

    Nota

    Anda perlu menentukan URL direktori Anda dari sebelumnya dalam tutorial ini saat Anda memasukkan nama pengguna. Misalnya:

    test-user@azuresampledirectory.onmicrosoft.com

  3. Dari halaman utama untuk pendaftaran aplikasi Anda, pilih peran aplikasi , lalu pilih Buat peran aplikasi. Berikan nilai untuk bidang formulir, pilih Ingin mengaktifkan peran aplikasi ini?, lalu pilih Terapkan.

    Cuplikan layar aplikasi 'Peran aplikasi' dengan panel 'Buat peran aplikasi' ditampilkan.

  4. Dari halaman Gambaran Umum direktori Microsoft Entra Anda, pilih aplikasi Enterprise.

  5. Pilih Semua aplikasi, lalu pilih aplikasi tempat Anda menambahkan peran aplikasi di langkah sebelumnya.

  6. Pilih Pengguna dan grup, lalu pilih Tambahkan pengguna/grup.

  7. Di bawah Pengguna, pilih Tidak Ada yang Dipilih. Pilih pengguna yang Anda buat sebelumnya, pilih Pilih, lalu pilih Tetapkan. Jika Anda sebelumnya telah membuat lebih dari satu peran aplikasi, pilih salah satu peran tersebut.

  8. Kembali ke panel Pengguna , pilih pengguna uji Anda, dan pilih Reset kata sandi, dan salin kata sandi. Anda akan menggunakan kata sandi saat masuk ke aplikasi nanti dalam tutorial ini.

Mengonfigurasi dan mengkompilasi aplikasi Anda

  1. Ekstrak file dari arsip proyek yang Anda buat dan unduh sebelumnya dalam tutorial ini ke dalam direktori.

  2. Navigasikan ke folder src/main/resources di proyek Anda, lalu buka file application.properties di editor teks.

  3. Tentukan pengaturan untuk pendaftaran aplikasi Anda menggunakan nilai yang Anda buat sebelumnya. Misalnya:

    # Enable related features.
    spring.cloud.azure.active-directory.enabled=true
    # Specifies your Active Directory ID:
    spring.cloud.azure.active-directory.profile.tenant-id=<tenant-ID>
    # Specifies your App Registration's Application ID:
    spring.cloud.azure.active-directory.credential.client-id=<client-ID>
    # Specifies your App Registration's secret key:
    spring.cloud.azure.active-directory.credential.client-secret=<client-secret>
    

    Lokasi:

    Pengaturan Deskripsi
    spring.cloud.azure.active-directory.enabled Aktifkan fitur yang disediakan oleh spring-cloud-azure-starter-active-directory
    spring.cloud.azure.active-directory.profile.tenant-id Berisi ID Direktori dari Direktori Aktif Anda sebelumnya.
    spring.cloud.azure.active-directory.credential.client-id Berisi ID Aplikasi dari pendaftaran aplikasi yang Anda selesaikan sebelumnya.
    spring.cloud.azure.active-directory.credential.client-secret Berisi Nilai dari kunci pendaftaran aplikasi yang Anda selesaikan sebelumnya.
  4. Simpan dan tutup file application.properties .

  5. Buat folder bernama controller di folder sumber Java untuk aplikasi Anda. Misalnya: src/main/java/com/wingtiptoys/security/controller.

  6. Buat file Java baru bernama HelloController.java di folder pengontrol dan buka di editor teks.

  7. Masukkan kode berikut, lalu simpan dan tutup file:

    package com.wingtiptoys.security;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.security.access.prepost.PreAuthorize;
    
    @RestController
    public class HelloController {
         @GetMapping("Admin")
         @ResponseBody
         @PreAuthorize("hasAuthority('APPROLE_Admin')")
         public String Admin() {
             return "Admin message";
         }
    }
    

Membuat dan menguji aplikasi Anda

  1. Buka perintah dan ubah direktori ke folder tempat file pom.xml aplikasi Anda berada.

  2. Bangun aplikasi Spring Boot Anda dengan Maven dan jalankan. Misalnya:

    mvn clean package
    mvn spring-boot:run
    
  3. Setelah aplikasi Anda dibangun dan dimulai oleh Maven, buka http://localhost:8080/Admin di browser web. Anda harus dimintai nama pengguna dan kata sandi.

    Cuplikan layar dialog 'Masuk' aplikasi.

    Nota

    Anda mungkin diminta untuk mengubah kata sandi Jika ini adalah login pertama untuk akun pengguna baru.

    Cuplikan layar dialog 'Perbarui kata sandi Anda'.

  4. Setelah berhasil masuk, Anda akan melihat contoh teks "Pesan admin" dari pengontrol.

    Cuplikan layar pesan admin aplikasi.

Ringkasan

Dalam tutorial ini, Anda membuat aplikasi web Java baru menggunakan starter Microsoft Entra, mengonfigurasi penyewa Microsoft Entra baru, mendaftarkan aplikasi baru dalam penyewa tersebut, lalu mengonfigurasi aplikasi Anda untuk menggunakan anotasi dan kelas Spring untuk melindungi aplikasi web.

Lihat juga

  • Untuk informasi tentang opsi UI baru, lihat panduan pelatihan pendaftaran aplikasi portal Azure baru

Langkah berikutnya

Untuk mempelajari selengkapnya tentang Spring dan Azure, lanjutkan ke pusat dokumentasi Spring on Azure.