Hızlı Başlangıç: Java web uygulamasından kullanıcıları oturum açma ve Microsoft Graph API'sini çağırma
Bu hızlı başlangıçta, java web uygulamasının kullanıcılarda nasıl oturum açabileceğini ve Microsoft Graph API'sini nasıl çağırabileceğini gösteren bir kod örneği indirip çalıştıracaksınız. Herhangi bir Microsoft Entra kuruluşundaki kullanıcılar uygulamada oturum açabilir.
Bkz. Örnek bir çizim için nasıl çalışır ?
Önkoşullar
Bu örneği çalıştırmak için şunları yapmanız gerekir:
- Java Development Kit (JDK) 8 veya üzeri.
- Maven.
Hızlı başlangıç uygulamanızı kaydetme ve indirme
İpucu
Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.
Hızlı başlangıç uygulamanızı başlatmanın iki yolu vardır: express (seçenek 1) ve el ile (seçenek 2).
1. Seçenek: Uygulamanızı kaydedin ve otomatik olarak yapılandırın ve ardından kod örneğini indirin
- En azından bulut uygulaması Yönetici istrator olarak Microsoft Entra yönetim merkezine gidin Uygulama kayıtları hızlı başlangıç deneyimi.
- Uygulamanız için bir ad girin ve Kaydet'i seçin.
- Otomatik olarak yapılandırılan uygulama kodunu indirmek için portalın hızlı başlangıç deneyimindeki yönergeleri izleyin.
2. Seçenek: Uygulamanızı ve kod örneğinizi el ile kaydetme ve yapılandırma
1. Adım: Uygulamanızı kaydetme
Uygulamanızı kaydetmek ve uygulamanın kayıt bilgilerini el ile eklemek için şu adımları izleyin:
- Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
- Birden çok kiracıya erişiminiz varsa, dizinler + abonelikler menüsünden uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüdeki Ayarlar simgesini kullanın.
- Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve Yeni kayıt'ı seçin.
- Uygulamanız için java-webapp gibi bir Ad girin. Uygulamanızın kullanıcıları bu adı görebilir. Bunu daha sonra değiştirebilirsiniz.
- Kaydet'i seçin.
- Genel Bakış sayfasında Uygulama (istemci) kimliği ve Dizin (kiracı) kimliği değerlerini not edin. Bu değerlere daha sonra ihtiyacınız olacak.
- Yönet'in altında Kimlik Doğrulama'yı seçin.
- Platform>Web'i ekle'yi seçin.
- Yeniden Yönlendirme URI'leri bölümüne girin
https://localhost:8443/msal4jsample/secure/aad
. - Yapılandır'yı seçin.
- Web bölümünde, Yeniden Yönlendirme URI'leri'nin altında ikinci bir yeniden yönlendirme URI'si olarak girin
https://localhost:8443/msal4jsample/graph/me
. - Yönet'in altında Sertifikalar ve gizli diziler'i seçin. Gizli anahtarlar bölümünün altında, Yeni gizli anahtar'ı seçin.
- Anahtar açıklaması (örneğin, uygulama gizli dizisi) girin, varsayılan süre sonunu bırakın ve Ekle'yi seçin.
- İstemci gizli dizisinin değerini not edin. Buna daha sonra ihtiyacınız olacak.
2. Adım: Kod örneğini indirme
3. Adım: Kod örneğini yapılandırma
Zip dosyasını yerel bir klasöre ayıklayın.
isteğe bağlı. Tümleşik bir geliştirme ortamı kullanıyorsanız örneği bu ortamda açın.
application.properties dosyasını açın. Src/main/resources/ klasöründe bulabilirsiniz. ,
aad.authority
veaad.secretKey
alanlarındakiaad.clientId
değerleri sırasıyla uygulama kimliği, kiracı kimliği ve istemci gizli anahtarı değerleriyle değiştirin. Şöyle görünmesi gerekir: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/"
Önceki kodda:
Enter_the_Application_Id_here
, kaydettiğiniz uygulamanın uygulama kimliğidir.Enter_the_Client_Secret_Here
, sertifikalar ve gizli diziler bölümünde kaydettiğiniz uygulama için oluşturduğunuz İstemci Gizli Anahtarıdır.Enter_the_Tenant_Info_Here
, kaydettiğiniz uygulamanın Dizin (kiracı) Kimliği değeridir.
- HTTPS'yi localhost ile kullanmak için özellikleri sağlayın
server.ssl.key
. Otomatik olarak imzalanan bir sertifika oluşturmak için keytool yardımcı programını kullanın (JRE'de bulunur).
Bir örnek aşağıda verilmiştir:
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
- Oluşturulan keystore dosyasını resources klasörüne yerleştirin.
4. Adım: Kod örneğini çalıştırma
Projeyi çalıştırmak için şu adımlardan birini uygulayın:
- Eklenmiş Spring Boot sunucusunu kullanarak doğrudan IDE'nizden çalıştırın.
- Maven kullanarak bir WAR dosyasına paketleyin ve apache Tomcat gibi bir J2EE kapsayıcı çözümüne dağıtın.
Projeyi IDE'den çalıştırma
Web uygulamasını bir IDE'den çalıştırmak için çalıştır'ı seçin ve projenin giriş sayfasına gidin. Bu örnek için standart giriş sayfası URL'si https://localhost:8443.
Ön sayfada Oturum Aç düğmesini seçerek kullanıcıları Microsoft Entra Id'ye yönlendirin ve kimlik bilgilerini isteyin.
Kullanıcıların kimliği doğrulandıktan sonra adresine yönlendirilirler
https://localhost:8443/msal4jsample/secure/aad
. Artık oturum açtılar ve sayfada kullanıcı hesabıyla ilgili bilgiler gösterilir. Örnek kullanıcı arabiriminde şu düğmeler vardır:- Oturumu Kapat: Geçerli kullanıcıyı uygulamadan çıkarır ve bu kullanıcıyı giriş sayfasına yönlendirir.
- Kullanıcı Bilgilerini Göster: Microsoft Graph için bir belirteç alır ve oturum açmış kullanıcı hakkında temel bilgileri döndüren belirteci içeren bir istekle Microsoft Graph'ı çağırır.
Projeyi Tomcat'ten çalıştırma
Web örneğini Tomcat'e dağıtmak istiyorsanız kaynak kodda birkaç değişiklik yapın.
ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication'i açın.
Tüm kaynak kodunu silin ve şu kodla değiştirin:
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); } }
Tomcat'in varsayılan HTTP bağlantı noktası 8080'dir, ancak 8443 numaralı bağlantı noktası üzerinden bir HTTPS bağlantısına ihtiyacınız vardır. Bu ayarı yapılandırmak için:
tomcat/conf/server.xml adresine gidin.
Etiketi arayın
<connector>
ve var olan bağlayıcıyı şu bağlayıcıyla değiştirin:<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"/>
Bir Komut İstemi penceresi açın. Bu örneğin kök klasörüne (dosyanın bulunduğu yer
pom.xml
) gidin ve projeyi oluşturmak için komutunu çalıştırınmvn package
.- Bu komut dizininizde
/targets
birmsal-web-sample-0.1.0.war
dosya oluşturur. - Bu dosyayı olarak
msal4jsample.war
yeniden adlandırın. - WAR dosyasını Tomcat veya başka bir J2EE kapsayıcı çözümü kullanarak dağıtın.
- Dosyayı dağıtmak
msal4jsample.war
için Tomcat yüklemenizdeki dizine/webapps/
kopyalayın ve ardından Tomcat sunucusunu başlatın.
- Dosyayı dağıtmak
- Bu komut dizininizde
Dosya dağıtıldıktan sonra bir tarayıcı kullanarak adresine
https://localhost:8443/msal4jsample
gidin.
Önemli
Bu hızlı başlangıç uygulaması, kendisini gizli istemci olarak tanımlamak için bir istemci gizli dizisi kullanır. İstemci gizli dizisi proje dosyalarınıza düz metin olarak eklendiğinden, güvenlik nedeniyle uygulamayı üretim ortamında kullanmadan önce istemci gizli dizisi yerine sertifika kullanmanızı öneririz. Sertifika kullanma hakkında daha fazla bilgi için bkz . Uygulama kimlik doğrulaması için sertifika kimlik bilgileri.
Daha Fazla Bilgi
Örnek nasıl çalışır?
MSAL alma
Java için MSAL (MSAL4J), kullanıcılarda oturum açmak ve Microsoft kimlik platformu tarafından korunan bir API'ye erişmek için kullanılan belirteçleri istemek için kullanılan Java kitaplığıdır.
Uygulamanın pom.xml (Maven) veya build.gradle (Gradle) dosyasında aşağıdaki değişiklikleri yaparak bağımlılıklarınızı yönetmek için Maven veya Gradle kullanarak uygulamanıza MSAL4J ekleyin.
pom.xml:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.0.0</version>
</dependency>
build.gradle dosyasında:
compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'
MSAL'ı başlatma
MSAL4J'yi kullaneceğiniz dosyanın başına aşağıdaki kodu ekleyerek Java için MSAL başvurusu ekleyin:
import com.microsoft.aad.msal4j.*;
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorunu bildirmek veya destek seçenekleriniz hakkında bilgi edinmek istiyorsanız bkz . Geliştiriciler için yardım ve destek.
Sonraki adımlar
Microsoft kimlik platformu kullanıcıların oturum açmasını sağlayan web uygulamaları oluşturma hakkında daha ayrıntılı bilgi için çok parçalı senaryo serisine bakın: