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:
- Java Development Kit (JDK) versi 8 atau yang lebih baru.
- Maven.
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
- Buka pusat admin Microsoft Entra - Pendaftaran aplikasi pengalaman mulai cepat setidaknya sebagai Administrator Aplikasi Cloud.
- Masukkan nama untuk aplikasi, lalu pilih Daftar.
- 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:
- Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
- 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.
- Telusuri Aplikasi >Identitas>Pendaftaran aplikasi dan pilih Pendaftaran baru.
- Masukkan Nama untuk aplikasi Anda, misalnya java-webapp. Pengguna aplikasi Anda mungkin melihat nama ini. Anda bisa mengubahnya nanti.
- Pilih Daftarkan.
- Di halaman Gambaran Umum, perhatikan ID Aplikasi (klien) dan ID Direktori (penyewa). Anda akan membutuhkan nilai-nilai ini nanti.
- Di bagian Kelola, pilih Autentikasi.
- Pilih Tambahkan platform>Web.
- Di bagian URI Pengalihan, masukkan
https://localhost:8443/msal4jsample/secure/aad
. - Pilih Konfigurasikan.
- Di bagian Web, di bawah URI Pengalihan, masukkan
https://localhost:8443/msal4jsample/graph/me
sebagai URI pengalihan kedua. - Di bagian Kelola, pilih Sertifikat & rahasia. Di bagian Rahasia klien, pilih Rahasia klien baru.
- Masukkan deskripsi kunci (misalnya, rahasia aplikasi), biarkan kedaluwarsa default, dan pilih Tambahkan.
- Perhatikan Nilai rahasia klien. Anda akan membutuhkannya nanti.
Langkah 2: Unduh sampel kode
Langkah 3: Konfigurasikan sampel kode
Ekstrak file zip ke folder lokal.
Opsional. Jika Anda menggunakan lingkungan pengembangan terintegrasi, buka sampel di lingkungan tersebut.
Buka file application.properties. Anda dapat menemukannya di folder src/main/resources/. Ganti nilai di bidang
aad.clientId
,aad.authority
, danaad.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.
- 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
- 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.
Di halaman depan, pilih tombol Masuk untuk mengalihkan pengguna ke ID Microsoft Entra dan meminta kredensial.
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.
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); } }
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"/>
Buka jendela Prompt Perintah. Buka folder akar sampel ini (tempat
pom.xml
file berada), dan jalankanmvn 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.
- Untuk menyebarkan
- Perintah ini akan menghasilkan
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
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: