Hızlı Başlangıç: Java web uygulamasına Microsoft ile oturum açma ekleme
Bu hızlı başlangıçta, bir Java web uygulamasının kullanıcıların oturum açmasını ve Microsoft Graph API'sini nasıl çağırasını gösteren bir kod örneği indirip çalıştırabilirsiniz. Herhangi bir Azure Active Directory (Azure AD) kuruluşundan kullanıcılar uygulamada oturum açmasını sağlar.
Genel bakış için örneğin nasıl çalıştığının diyagramına bakın.
Önkoşullar
Bu örneği çalıştırmak için şunları gerekir:
- Java Development Kit (JDK) 8 veya sonraki bir sürümü.
- Maven.
Hızlı başlangıç uygulamanızı kaydetme ve indirme
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: Uygulamalarınızı kaydetme ve otomatik olarak yapılandırma ve ardından kod örneğini indirme
- Azure portal - Uygulama kayıtları deneyimine gidin.
- Uygulamanıza bir ad girin ve Ardından Kaydol'a tıklayın.
- Otomatik olarak yapılandırılmış uygulama kodunu indirmek için portalın hızlı başlangıç deneyiminde yer alan 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:
- Azure Portal oturum açın.
- Birden çok kiracıya erişiminiz varsa, uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüde Dizinler + abonelikler
filtresini kullanın. - Azure Active Directory'yi bulun ve seçin.
- Yönet'in altında Uygulama kayıtları nı seçin.
- Yeni kayıt'ı seçin.
- Uygulamanıza bir Ad girin, örneğin java-webapp. Uygulama kullanıcıları bu adı görebilir. Daha sonra değiştirebilirsiniz.
- Kaydet’i seçin.
- Genel Bakış sayfasında Uygulama (istemci) kimliği ve Dizin (kiracı) kimliği'ne dikkat edin. Bu değerlere daha sonra ihtiyacınız olacak.
- Yönet'in altında Kimlik Doğrulaması'ı seçin.
- Platform Web'i ekle'yi > seçin.
- Yeniden Yönlendirme URL'leri bölümüne
https://localhost:8443/msal4jsample/secure/aadgirin. - Yapılandır'ı seçin.
- Web bölümünde, Yeniden Yönlendirme URI'leri bölümüne
https://localhost:8443/msal4jsample/graph/meikinci bir yeniden yönlendirme URI'si olarak girin. - Yönet’in altında Sertifikalar ve gizli diziler’i seçin. İstemci gizli dizileri bölümünde Yeni istemci gizli dizi'yi seçin.
- Bir anahtar açıklaması girin (örneğin, uygulama gizli anahtarı), varsayılan süre sonu seçeneğini bırakın ve Ekle'yi seçin.
- İstemci gizli değerini not ayaz. Buna daha sonra ihtiyacınız olacak.
1. Adım: Uygulamalarınızı Azure portal
Bu hızlı başlangıçta kod örneğini kullanmak için:
- Yanıt URL'leri ve
https://localhost:8443/msal4jsample/secure/aadhttps://localhost:8443/msal4jsample/graph/meekleyin. - bir istemci gizli gizlisi oluşturun.
Uygulamanız bu özniteliklerle yapılandırılmış.
2. Adım: Kod örneğini indirme
Projeyi indirin ve .zip sürücünizin köküne yakın bir klasöre ayıklar. Örneğin, C:\Azure-Samples.
localhost ile HTTPS kullanmak için özellikleri server.ssl.key sağlar. Otomatik olarak imzalanan sertifika oluşturmak için keytool yardımcı programını (JRE'ye dahildir) kullanın.
Aşağıda bir örnek 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 yazın.
Not
Enter_the_Supported_Account_Info_Here
3. Adım: Kod örneğini yapılandırma
Zip dosyasını yerel bir klasöre çıkarı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. Bunu src/main/resources/ klasöründe bulabilirsiniz. , ve alanlarındaki
aad.clientIddeğerleriaad.authoritysırasıyla uygulama kimliği, kiracı kimliği ve gizli istemciaad.secretKeydeğerleriyle değiştirin. Şöyle olması 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, kayıtlı uygulamanın uygulama kimliğidir.Enter_the_Client_Secret_Here, Sertifikalar'da oluşturduğunuz gizli & uygulamanın gizli dizileridir.Enter_the_Tenant_Info_Here, kayıtlı uygulamanın Dizin (kiracı) kimliği değeridir.
localhost ile HTTPS kullanmak için özellikleri
server.ssl.keysağlar. Otomatik olarak imzalanan sertifika oluşturmak için keytool yardımcı programını (JRE'ye dahildir) kullanın.Aşağıda bir örnek 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=testCertOluşturulan keystore dosyasını resources klasörüne yazın.
3. Adım: Kod örneğini çalıştırma
4. Adım: Kod örneğini çalıştırma
Projeyi çalıştırmak için şu adımlardan birini uygulayın:
- Ekli sunucuyu kullanarak doğrudan IDE'Spring Boot çalıştırın.
- Mavenkullanarak bunu bir WAR dosyasına paketlenin ve ardından Apache Tomcat gibi bir J2EE kapsayıcı çözümüne dağıtın.
Projeyi bir 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 olur.
Ön sayfada, kullanıcıları oturum açma bilgilerine yönlendirmek ve kimlik Azure Active Directory için Oturum Aç düğmesini seçin.
Kullanıcıların kimliği doğrulandıktan sonra, bu kullanıcılar'a yeniden yönlendir
https://localhost:8443/msal4jsample/secure/aadedilir. Artık oturumlar ve sayfada kullanıcı hesabıyla ilgili bilgiler görüntülenir. Örnek kullanıcı arabiriminde şu düğmeler bulunur:- Oturum Açma: Geçerli kullanıcının uygulama dışında oturum açmasını sağlar ve bu kullanıcı giriş sayfasına yeniden yönlendirebilir.
- Kullanıcı Bilgilerini Göster: Microsoft Graph için bir belirteç alır ve Graph içeren bir istekle Microsoft Graph'i çağırarak oturum açık olan kullanıcıyla ilgili temel bilgileri döndürür.
Projeyi Tomcat'den çalıştırma
Web örneğini Tomcat'e dağıtmak için kaynak kodda birkaç değişiklik yapın.
ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication'ı açın.
Tüm kaynak kodu silin ve bu kodu ş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'tir, ancak 8443 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.
etiketini
<connector>arayın ve mevcut 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 istemi penceresi açın. Bu örneğin kök klasörüne (dosyanın bulunduğu pom.xml) gidin ve projeyi
mvn packagederlemek için çalıştırın.- Bu komut, /targets dizininize bir msal-web-sample-0.1.0.war dosyası oluşturacak.
- Bu dosyayı msal4jsample.war olarak yeniden adlandırır.
- Tomcat veya başka bir J2EE kapsayıcı çözümünü kullanarak WAR dosyasını dağıtın.
- msal4jsample.war dosyasını dağıtmak için, dosyayı Tomcat yüklemenizin /webapps/ dizinine kopyalayın ve ardından Tomcat sunucusunu başlatın.
Dosya dağıtıldıktan sonra tarayıcı kullanarak https://localhost:8443/msal4jsample 'a gidin.
Önemli
Bu hızlı başlangıç uygulaması, kendisini gizli bir istemci olarak tanımlamak için bir istemci gizli anahtarı kullanır. İstemci parolası proje dosyalarınıza düz metin olarak eklendiğinden, güvenlik nedenleriyle, uygulamayı bir üretim ortamında kullanmadan önce istemci parolası yerine bir 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
Örneğin nasıl çalıştığı
MSAL al
java için MSAL (MSAL4J), kullanıcıları oturum açmak için kullanılan java kitaplığı ve Microsoft kimlik platformu tarafından korunan bir apı 'ye erişmek için kullanılan belirteçleri ister.
Uygulamanızı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 içinde:
compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'
MSAL Başlat
MSAL4J kullanacağınız dosyanın başlangıcına aşağıdaki kodu ekleyerek Java için MSAL öğesine bir başvuru ekleyin:
import com.microsoft.aad.msal4j.*;
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorun 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ılara oturum açmış web uygulamaları oluşturmaya yönelik daha ayrıntılı bir tartışma için bkz. çok parçalı senaryo serisi: