Sdílet prostřednictvím


Rychlý start: Přihlášení uživatelů a volání rozhraní Microsoft Graph API z webové aplikace v Javě

V tomto rychlém startu si stáhnete a spustíte ukázku kódu, která předvádí, jak se webová aplikace v Javě může přihlásit uživatele a volat rozhraní Microsoft Graph API. Uživatelé z jakékoli organizace Microsoft Entra se mohou přihlásit k aplikaci.

Viz Jak funguje ukázka pro ilustraci.

Požadavky

Ke spuštění této ukázky potřebujete:

Registrace a stažení aplikace pro rychlý start

Aplikaci pro rychlý start můžete spustit dvěma způsoby: express (možnost 1) a ruční (možnost 2).

Možnost 1: Registrace a automatická konfigurace aplikace a stažení ukázky kódu

  1. Přejděte do centra pro správu Microsoft Entra – Registrace aplikací prostředí rychlého startu jako alespoň správce cloudových aplikací.
  2. Zadejte název vaší aplikace a pak vyberte Registrovat.
  3. Podle pokynů v prostředí rychlého startu na portálu stáhněte automaticky nakonfigurovaný kód aplikace.

Možnost 2: Registrace a ruční konfigurace aplikace a ukázky kódu

Krok 1: Registrace aplikace

Pokud chcete aplikaci zaregistrovat a ručně do ní přidat registrační informace, postupujte takto:

  1. Přihlaste se do centra pro správu Microsoft Entra alespoň jako administrátor cloudových aplikací.
  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte do tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
  3. Přejděte na Identity>Applications>App registrations a vyberte Nová registrace.
  4. Zadejte název pro vaši aplikaci, například java-webapp. Uživatelé vaší aplikace můžou vidět tento název. Můžete ho později změnit.
  5. Vyberte Zaregistrovat.
  6. Na stránce Přehled si poznamenejte ID aplikace (klient) a ID adresáře (tenanta). Tyto hodnoty budete potřebovat později.
  7. V části Spravovatvyberte Ověřování.
  8. Vyberte Přidat platformu>webovou.
  9. V části Identifikátory URI přesměrování zadejte https://localhost:8443/msal4jsample/secure/aad.
  10. Vyberte Konfigurovat.
  11. V části Web v části Identifikátory URI přesměrovánízadejte https://localhost:8443/msal4jsample/graph/me jako druhý identifikátor URI přesměrování.
  12. V části Spravovatvyberte Certifikáty & tajemství. V části Tajné kódy klienta vyberte Nový tajný klíč klienta.
  13. Zadejte popis klíče (například tajný kód aplikace), ponechte výchozí vypršení platnosti a vyberte Přidat.
  14. Poznamenejte si hodnotu klientského tajného klíče. Budete ho potřebovat později.

Krok 2: Stažení ukázky kódu

Stažení ukázkového kódu

Krok 3: Konfigurace ukázky kódu

  1. Extrahujte soubor ZIP do místní složky.

  2. Volitelný. Pokud používáte integrované vývojové prostředí, otevřete v tomto prostředí ukázku.

  3. Otevřete soubor application.properties. Najdete ho ve složce src/main/resources/. Nahraďte hodnoty v polích aad.clientId, aad.authoritya aad.secretKey hodnotami ID aplikace, ID tenanta a tajnými klíči klienta. Takto by měl vypadat:

     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/"
    

V předchozím kódu:

  • Enter_the_Application_Id_here je ID aplikace pro aplikaci, kterou jste zaregistrovali.
  • Enter_the_Client_Secret_Here je tajný klíč klienta, který jste vytvořili v Certifikáty & tajných kódů pro aplikaci, kterou jste zaregistrovali.
  • Enter_the_Tenant_Info_Here je ID adresáře (tenanta) hodnoty aplikace, kterou jste zaregistrovali.
  1. Pokud chcete použít HTTPS s místním hostitelem, zadejte server.ssl.key vlastnosti. K vygenerování certifikátu podepsaného svým držitelem použijte nástroj keytool (zahrnutý v JRE).

Tady je příklad:

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. Vložte vygenerovaný keystore soubor do složky zdrojů.

Krok 4: Spuštění ukázky kódu

Pokud chcete projekt spustit, proveďte jeden z těchto kroků:

  • Spusťte ho přímo z integrovaného vývojového prostředí pomocí integrovaného serveru Spring Boot.
  • Zabalte ho do souboru WAR pomocí Mavenu a pak ho nasaďte do řešení kontejneru J2EE, jako je Apache Tomcat.
Spuštění projektu z integrovaného vývojového prostředí (IDE)

Pokud chcete webovou aplikaci spustit z integrovaného vývojového prostředí(IDE), vyberte spustit a pak přejděte na domovskou stránku projektu. Pro tuto ukázku je standardní adresa URL domovské stránky https://localhost:8443.

  1. Na úvodní stránce vyberte tlačítko Login a přesměrujte uživatele na Microsoft Entra ID a požádejte je o zadání přihlašovacích údajů.

  2. Po ověření se uživatelé přesměrují na https://localhost:8443/msal4jsample/secure/aad. Teď jsou přihlášení a na stránce se zobrazí informace o uživatelském účtu. Ukázkové uživatelské rozhraní obsahuje tato tlačítka:

    • Odhlásit se: Odhlásí aktuálního uživatele z aplikace a přesměruje ho na domovskou stránku.
    • Zobrazit informace o uživateli: Získá token pro Microsoft Graph a zavolá Microsoft Graph s požadavkem, který obsahuje token, který vrátí základní informace o přihlášeného uživatele.
Spuštění projektu na serveru Tomcat

Pokud chcete nasadit webovou ukázku do Tomcatu, proveďte několik změn zdrojového kódu.

  1. Otevřete ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication.

    • Odstraňte veškerý zdrojový kód a nahraďte ho tímto kódem:

       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. Výchozí port HTTP tomcat je 8080, ale potřebujete připojení HTTPS přes port 8443. Konfigurace tohoto nastavení:

    • Přejděte na tomcat/conf/server.xml.

    • Vyhledejte značku <connector> a nahraďte stávající konektor tímto konektorem:

      <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. Otevřete okno příkazového řádku. Přejděte do kořenové složky této ukázky (kde se nachází soubor pom.xml) a spuštěním mvn package sestavte projekt.

    • Tento příkaz vygeneruje msal-web-sample-0.1.0.war soubor v adresáři /targets.
    • Přejmenujte tento soubor na msal4jsample.war.
    • Nasaďte soubor WAR pomocí Tomcatu nebo jakéhokoli jiného řešení kontejneru J2EE.
      • Pokud chcete nasadit soubor msal4jsample.war, zkopírujte ho do /webapps/ adresáře v instalaci Tomcat a spusťte server Tomcat.
  4. Po nasazení souboru přejděte do https://localhost:8443/msal4jsample pomocí prohlížeče.

Důležitý

Tato aplikace pro rychlý start používá tajný klíč klienta k identifikaci sebe sama jako důvěrného klienta. Protože tajný klíč klienta se do souborů projektu přidá jako prostý text, z bezpečnostních důvodů doporučujeme před použitím aplikace v produkčním prostředí místo tajného klíče klienta použít certifikát. Další informace o tom, jak používat certifikát, naleznete v tématu Přihlašovací údaje certifikátu pro ověřování aplikací.

Další informace

Jak ukázka funguje

diagram, který ukazuje, jak funguje ukázková aplikace generovaná tímto rychlým startem.

Získat MSAL

MSAL pro Javu (MSAL4J) je knihovna Java, která slouží k přihlašování uživatelů a vyžádání tokenů, které slouží k přístupu k rozhraní API chráněnému platformou Microsoft Identity Platform.

Přidejte do aplikace MSAL4J pomocí Mavenu nebo Gradle ke správě závislostí provedením následujících změn v souboru pom.xml aplikace (Maven) nebo build.gradle (Gradle).

V pom.xml:

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

V build.gradle:

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

Inicializovat MSAL

Přidejte odkaz na MSAL pro Javu přidáním následujícího kódu na začátek souboru, kde budete používat MSAL4J:

import com.microsoft.aad.msal4j.*;

Nápověda a podpora

Pokud potřebujete pomoc, chcete nahlásit problém nebo se chcete dozvědět o možnostech podpory, přečtěte si Nápovědu a podporu pro vývojáře.

Další kroky

Podrobnější informace o vytváření webových aplikací, které přihlašují uživatele na platformě Microsoft Identity Platform, najdete v řadě scénářů s více částmi: