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:
- Java Development Kit (JDK) 8 nebo novější.
- Maven.
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
- Přejděte do Centra pro správu Microsoft Entra – Registrace aplikací prostředí pro rychlý start jako alespoň cloudová aplikace Správa istrator.
- Zadejte název aplikace a pak vyberte Zaregistrovat.
- 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:
- Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
- 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á.
- Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
- 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.
- Vyberte Zaregistrovat.
- Na stránce Přehled si poznamenejte ID aplikace (klienta) a ID adresáře (tenanta). Tyto hodnoty budete potřebovat později.
- V části Spravovat vyberte Ověřování.
- Vyberte Přidat web platformy>.
- V části Identifikátory URI pro přesměrování zadejte
https://localhost:8443/msal4jsample/secure/aad
. - Vyberte Konfigurovat.
- 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í. - V části Spravovat vyberte Certifikáty a tajné kódy. V části Tajné klíče klienta vyberte Nový tajný klíč klienta.
- Zadejte popis klíče (například tajný kód aplikace), ponechte výchozí vypršení platnosti a vyberte Přidat.
- Poznamenejte si hodnotu tajného klíče klienta. Budete ho totiž potřebovat později.
Krok 2: Stažení ukázky kódu
Krok 3: Konfigurace ukázky kódu
Extrahujte soubor ZIP do místní složky.
Nepovinné. Pokud používáte integrované vývojové prostředí, otevřete v tomto prostředí ukázku.
Otevřete soubor application.properties. Najdete ho ve složce src/main/resources/ . Nahraďte hodnoty v polích
aad.clientId
aaad.authority
aad.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_Here
je tajný klíč klienta, který jste vytvořili v certifikátech a tajných kódech pro aplikaci, kterou jste zaregistrovali.Enter_the_Tenant_Info_Here
je hodnota ID adresáře (tenanta) aplikace, kterou jste zaregistrovali.
- 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
- 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.
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ů.
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.
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); } }
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"/>
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ťtemvn 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.
- Pokud chcete soubor nasadit
- Tento příkaz vygeneruje
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
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: