Mulai cepat: Memasukkan pengguna dan memanggil Microsoft Graph API dari aplikasi web Java

Di mulai cepat ini, Anda mengunduh dan menjalankan sampel kode yang menunjukkan bagaimana aplikasi web Java dapat masuk pengguna dan memanggil Microsoft Graph API. Pengguna dari organisasi Microsoft Entra mana pun dapat masuk ke aplikasi.

Lihat Cara kerja sampel untuk melihat ilustrasi.

Prasyarat

Untuk menjalankan sampel ini, Anda perlu:

Mendaftar dan mengunduh aplikasi mulai cepat Anda

Tip

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Ada dua cara untuk memulai aplikasi mulai cepat Anda: express (opsi 1) dan manual (opsi 2).

Opsi 1: Mendaftarkan dan mengonfigurasikan aplikasi Anda secara otomatis, lalu mengunduh contoh kode

  1. Buka pusat admin Microsoft Entra - Pendaftaran aplikasi pengalaman mulai cepat setidaknya sebagai Administrator Aplikasi Cloud.
  2. Masukkan nama untuk aplikasi, lalu pilih Daftar.
  3. Ikuti instruksi dalam pengalaman mulai cepat portal untuk mengunduh kode aplikasi yang dikonfigurasi secara otomatis.

Opsi 2: Mendaftarkan dan mengonfigurasi sampel aplikasi dan kode secara manual

Langkah 1: Daftarkan aplikasi Anda

Untuk mendaftarkan aplikasi Anda dan menambahkan informasi pendaftaran aplikasi secara manual ke aplikasi tersebut, ikuti langkah-langkah berikut:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa tempat Anda ingin mendaftarkan aplikasi dari menu Direktori + langganan.
  3. Telusuri Aplikasi >Identitas>Pendaftaran aplikasi dan pilih Pendaftaran baru.
  4. Masukkan Nama untuk aplikasi Anda, misalnya java-webapp. Pengguna aplikasi Anda mungkin melihat nama ini. Anda bisa mengubahnya nanti.
  5. Pilih Daftarkan.
  6. Di halaman Gambaran Umum, perhatikan ID Aplikasi (klien) dan ID Direktori (penyewa). Anda akan membutuhkan nilai-nilai ini nanti.
  7. Di bagian Kelola, pilih Autentikasi.
  8. Pilih Tambahkan platform>Web.
  9. Di bagian URI Pengalihan, masukkan https://localhost:8443/msal4jsample/secure/aad.
  10. Pilih Konfigurasikan.
  11. Di bagian Web, di bawah URI Pengalihan, masukkan https://localhost:8443/msal4jsample/graph/me sebagai URI pengalihan kedua.
  12. Di bagian Kelola, pilih Sertifikat & rahasia. Di bagian Rahasia klien, pilih Rahasia klien baru.
  13. Masukkan deskripsi kunci (misalnya, rahasia aplikasi), biarkan kedaluwarsa default, dan pilih Tambahkan.
  14. Perhatikan Nilai rahasia klien. Anda akan membutuhkannya nanti.

Langkah 2: Unduh sampel kode

Unduh sampel kode

Langkah 3: Konfigurasikan sampel kode

  1. Ekstrak file zip ke folder lokal.

  2. Opsional. Jika Anda menggunakan lingkungan pengembangan terintegrasi, buka sampel di lingkungan tersebut.

  3. Buka file application.properties. Anda dapat menemukannya di folder src/main/resources/. Ganti nilai di bidang aad.clientId, aad.authority, dan aad.secretKey dengan ID aplikasi, ID penyewa, dan nilai rahasia klien. Berikut adalah apa yang harus terlihat seperti:

     aad.clientId=Enter_the_Application_Id_here
     aad.authority=https://login.microsoftonline.com/Enter_the_Tenant_Info_Here/
     aad.secretKey=Enter_the_Client_Secret_Here
     aad.redirectUriSignin=https://localhost:8443/msal4jsample/secure/aad
     aad.redirectUriGraph=https://localhost:8443/msal4jsample/graph/me
     aad.msGraphEndpointHost="https://graph.microsoft.com/"
    

Dalam kode sebelumnya:

  • Enter_the_Application_Id_here adalah ID aplikasi untuk aplikasi yang Anda daftarkan.
  • Enter_the_Client_Secret_Here adalah Rahasia Klien yang Anda buat di Sertifikat & rahasia untuk aplikasi yang Anda daftarkan.
  • Enter_the_Tenant_Info_Here adalah nilai ID Direktori (penyewa) dari aplikasi yang Anda daftarkan.
  1. Untuk menggunakan HTTPS dengan localhost, sediakan server.ssl.key properti. Untuk menghasilkan sertifikat yang ditandatangani sendiri, gunakan utilitas keytool (termasuk dalam JRE).

Berikut contohnya:

keytool -genkeypair -alias testCert -keyalg RSA -storetype PKCS12 -keystore keystore.p12 -storepass password

server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-alias=testCert
  1. Masukkan file keystore yang dihasilkan ke dalam folder sumber daya.

Langkah 4: Jalankan sampel kode

Untuk menjalankan proyek, lakukan salah satu langkah berikut:

  • Jalankan langsung dari IDE Anda dengan menggunakan server Spring Boot yang disematkan.
  • Kemas ke file WAR dengan menggunakan Maven, dan kemudian sebarkan ke solusi kontainer J2EE seperti Apache Tomcat.
Menjalankan proyek dari IDE

Untuk menjalankan aplikasi web dari IDE, pilih jalankan, lalu buka halaman beranda proyek. Untuk sampel ini, URL beranda standar adalah https://localhost:8443.

  1. Di halaman depan, pilih tombol Masuk untuk mengalihkan pengguna ke ID Microsoft Entra dan meminta kredensial.

  2. Setelah pengguna diautentikasi, mereka dialihkan ke https://localhost:8443/msal4jsample/secure/aad. Mereka sekarang masuk, dan halaman akan menampilkan informasi tentang akun pengguna. Contoh UI memiliki tombol-tombol ini:

    • Keluar: Mengeluarkan pengguna saat ini dari aplikasi dan mengalihkan pengguna tersebut ke halaman beranda.
    • Tampilkan Info Pengguna: Memperoleh token untuk Microsoft Graph dan memanggil Microsoft Graph dengan permintaan yang berisi token, yang mengembalikan informasi dasar tentang pengguna yang masuk.
Menjalankan proyek dari Tomcat

Jika Anda ingin menyebarkan sampel web ke Tomcat, buat beberapa perubahan pada kode sumber.

  1. Buka ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication.

    • Hapus semua kode sumber dan ganti dengan kode ini:

       package com.microsoft.azure.msalwebsample;
      
       import org.springframework.boot.SpringApplication;
       import org.springframework.boot.autoconfigure.SpringBootApplication;
       import org.springframework.boot.builder.SpringApplicationBuilder;
       import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
      
       @SpringBootApplication
       public class MsalWebSampleApplication extends SpringBootServletInitializer {
      
        public static void main(String[] args) {
         SpringApplication.run(MsalWebSampleApplication.class, args);
        }
      
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
         return builder.sources(MsalWebSampleApplication.class);
        }
       }
      
  2. Port HTTP default Tomcat adalah 8080, tetapi Anda memerlukan koneksi HTTPS melalui port 8443. Untuk mengonfigurasi pengaturan ini:

    • Buka tomcat/conf/server.xml.

    • Cari <connector> tag, dan ganti konektor yang ada dengan konektor ini:

      <Connector
               protocol="org.apache.coyote.http11.Http11NioProtocol"
               port="8443" maxThreads="200"
               scheme="https" secure="true" SSLEnabled="true"
               keystoreFile="C:/Path/To/Keystore/File/keystore.p12" keystorePass="KeystorePassword"
               clientAuth="false" sslProtocol="TLS"/>
      
  3. Buka jendela Prompt Perintah. Buka folder akar sampel ini (tempat pom.xml file berada), dan jalankan mvn package untuk membangun proyek.

    • Perintah ini akan menghasilkan msal-web-sample-0.1.0.war file di direktori Anda /targets .
    • Ganti nama file ini menjadi msal4jsample.war.
    • Terapkan file WAR dengan menggunakan Tomcat atau solusi kontainer J2EE lainnya.
      • Untuk menyebarkan msal4jsample.war file, salin ke /webapps/ direktori di penginstalan Tomcat Anda, lalu mulai server Tomcat.
  4. Setelah file digunakan, buka https://localhost:8443/msal4jsample dengan menggunakan browser.

Penting

Aplikasi mulai cepat ini menggunakan rahasia klien untuk mengidentifikasi dirinya sebagai klien rahasia. Karena rahasia klien ditambahkan sebagai teks biasa ke file proyek Anda, untuk alasan keamanan, kami sarankan Anda menggunakan sertifikat alih-alih rahasia klien sebelum menggunakan aplikasi di lingkungan produksi. Untuk informasi selengkapnya tentang cara menggunakan sertifikat, lihat Kredensial sertifikat untuk autentikasi aplikasi.

Informasi selengkapnya

Cara kerja sampel

Diagram that shows how the sample app generated by this quickstart works.

Mendapatkan MSAL

MSAL for Java (MSAL4J) adalah pustaka Java yang digunakan untuk masuk pengguna dan meminta token yang digunakan untuk mengakses API yang dilindungi oleh platform identitas Microsoft.

Tambahkan MSAL4J ke aplikasi Anda dengan menggunakan Maven atau Gradle untuk mengelola dependensi Anda dengan membuat perubahan berikut ke file pom.xml (Maven) atau build.gradle (Gradle) aplikasi.

Dalam pom.xml:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>msal4j</artifactId>
    <version>1.0.0</version>
</dependency>

Dalam build.gradle:

compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'

Menginisialisasi MSAL

Tambahkan referensi ke MSAL untuk Java dengan menambahkan kode berikut di awal file tempat Anda akan menggunakan MSAL4J:

import com.microsoft.aad.msal4j.*;

Bantuan dan dukungan

Jika Anda memerlukan bantuan, ingin melaporkan masalah, atau ingin mempelajari opsi dukungan, lihat Bantuan dan dukungan bagi pengembang.

Langkah berikutnya

Untuk diskusi yang lebih mendalam tentang membangun aplikasi web yang masuk pengguna di platform identitas Microsoft, lihat seri skenario multipihak: