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.

Podívejte se, jak ukázka funguje pro ilustraci.

Požadavky

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

Registrace a stažení aplikace pro rychlý start

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

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í pro rychlý start jako alespoň cloudová aplikace Správa istrator.
  2. Zadejte název aplikace a pak vyberte Zaregistrovat.
  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 vzorového kódu

Krok 1: Zaregistrujte si aplikaci

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 jako alespoň cloudová aplikace Správa istrator.
  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
  3. Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
  4. Zadejte název aplikace, například java-webapp. Uživatelé vaší aplikace můžou vidět tento název. Ten můžete později změnit.
  5. Vyberte Zaregistrovat.
  6. Na stránce Přehled si poznamenejte ID aplikace (klienta) a ID adresáře (tenanta). Tyto hodnoty budete potřebovat později.
  7. V části Spravovat vyberte Ověřování.
  8. Vyberte Přidat web platformy>.
  9. V části Identifikátory URI pro 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 Spravovat vyberte Certifikáty a tajné kódy. V části Tajné klíče 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 tajného klíče klienta. Budete ho totiž potřebovat později.

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

Stažení ukázky kódu

Krok 3: Konfigurace ukázky kódu

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

  2. Nepovinné. 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.clientIda aad.authorityaad.secretKey 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_Hereje tajný klíč klienta, který jste vytvořili v certifikátech a tajných kódech pro aplikaci, kterou jste zaregistrovali.
  • Enter_the_Tenant_Info_Hereje hodnota ID adresáře (tenanta) 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ý soubor úložiště klíčů do složky prostředků .

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 Přihlásit , abyste uživatele přesměrovali na MICROSOFT Entra ID a zobrazili výzvu k 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 ze služby 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 <connector> značku 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 pom.xml se soubor nachází) a spusťte mvn package sestavení projektu.

    • Tento příkaz vygeneruje msal-web-sample-0.1.0.war soubor v /targets adresáři.
    • Přejmenujte tento soubor na msal4jsample.war.
    • Nasaďte soubor WAR pomocí Tomcatu nebo jakéhokoli jiného řešení kontejneru J2EE.
      • Pokud chcete soubor nasadit msal4jsample.war , zkopírujte ho do /webapps/ adresáře v instalaci Tomcat a spusťte server Tomcat.
  4. Po nasazení souboru přejděte pomocí https://localhost:8443/msal4jsample 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, najdete v tématu Přihlašovací údaje certifikátu pro ověřování aplikací.

Více informací

Jak ukázka funguje

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

Získání knihovny 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'

Inicializace knihovny 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: