Share via


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:

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

  1. En azından bulut uygulaması Yönetici istrator olarak Microsoft Entra yönetim merkezine gidin Uygulama kayıtları hızlı başlangıç deneyimi.
  2. Uygulamanız için bir ad girin ve Kaydet'i seçin.
  3. 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:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
  2. 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.
  3. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve Yeni kayıt'ı seçin.
  4. 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.
  5. Kaydet'i seçin.
  6. 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.
  7. Yönet'in altında Kimlik Doğrulama'yı seçin.
  8. Platform>Web'i ekle'yi seçin.
  9. Yeniden Yönlendirme URI'leri bölümüne girinhttps://localhost:8443/msal4jsample/secure/aad.
  10. Yapılandır'yı seçin.
  11. Web bölümünde, Yeniden Yönlendirme URI'leri'nin altında ikinci bir yeniden yönlendirme URI'si olarak girinhttps://localhost:8443/msal4jsample/graph/me.
  12. 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.
  13. Anahtar açıklaması (örneğin, uygulama gizli dizisi) girin, varsayılan süre sonunu bırakın ve Ekle'yi seçin.
  14. İstemci gizli dizisinin değerini not edin. Buna daha sonra ihtiyacınız olacak.

2. Adım: Kod örneğini indirme

Kod örneğini indirme

3. Adım: Kod örneğini yapılandırma

  1. Zip dosyasını yerel bir klasöre ayıklayın.

  2. isteğe bağlı. Tümleşik bir geliştirme ortamı kullanıyorsanız örneği bu ortamda açın.

  3. application.properties dosyasını açın. Src/main/resources/ klasöründe bulabilirsiniz. , aad.authorityve aad.secretKey alanlarındaki aad.clientIddeğ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.
  1. 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
  1. 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.

  1. Ön sayfada Oturum Aç düğmesini seçerek kullanıcıları Microsoft Entra Id'ye yönlendirin ve kimlik bilgilerini isteyin.

  2. 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.

  1. 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);
        }
       }
      
  2. 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"/>
      
  3. 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ın mvn package .

    • Bu komut dizininizde /targets bir msal-web-sample-0.1.0.war dosya oluşturur.
    • Bu dosyayı olarak msal4jsample.waryeniden 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.
  4. 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?

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

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: