Rychlý start: Přidání přihlášení s Microsoftem do webové aplikace v Javě

V tomto rychlém startu si stáhnete a spustíte vzorový kód, který ukazuje, jak může webová aplikace v Javě přihlašovat uživatele a volat rozhraní Microsoft Graph API. K aplikaci se Azure Active Directory (Azure AD) z libovolné organizace.

Přehled najdete v diagramu toho, jak ukázka funguje.

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: expresní (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 na stránku Azure Portal – Registrace aplikací rychlého startu.
  2. Zadejte název vaší aplikace a pak vyberte Zaregistrovat.
  3. Postupujte podle pokynů v rychlém startu portálu a stáhněte automaticky nakonfigurovaný kód aplikace.

Možnost 2: Registrace a ruční konfigurace aplikace a vzorového kódu

Krok 1: Registrace aplikace

Pokud chcete zaregistrovat aplikaci a ručně do ní přidat informace o registraci aplikace, postupujte následovně:

  1. Přihlaste se k webu Azure Portal.
  2. Pokud máte přístup k více tenantům, pomocí filtru Adresáře a předplatná v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat.
  3. Vyhledejte a vyberte Azure Active Directory.
  4. V části Spravovat vyberte Registrace aplikací.
  5. Vyberte New registration (Nová registrace).
  6. Zadejte Název vaší aplikace, například java-webapp. Uživatelé vaší aplikace můžou tento název vidět. Později ho můžete změnit.
  7. Vyberte Zaregistrovat.
  8. Na stránce Přehled si poznamenejte ID aplikace (klienta) a ID adresáře (tenanta). Tyto hodnoty budete potřebovat později.
  9. V částiSpravovat vyberte Ověřování.
  10. Vyberte Přidat webovouplatformu.
  11. V části Identifikátory URI pro přesměrování zadejte .
  12. Vyberte Konfigurovat.
  13. V části Web v části Identifikátory URI pro přesměrovánízadejte jako druhý identifikátor URI přesměrování.
  14. V části Spravovatvyberte Tajné kódy certifikátů. V části Tajné kódy klienta vyberte Nový tajný klíč klienta.
  15. Zadejte popis klíče (například tajný kód aplikace),ponechte výchozí vypršení platnosti a vyberte Přidat.
  16. Poznamenejte si hodnotu tajného klíče klienta. Budete ho potřebovat později.

Krok 1: Konfigurace aplikace v Azure Portal

Použití ukázky kódu v tomto rychlém startu:

  1. Přidejte adresy URL odpovědí a https://localhost:8443/msal4jsample/secure/aadhttps://localhost:8443/msal4jsample/graph/me .
  2. Vytvořte tajný kód klienta.

Already configured Vaše aplikace je nakonfigurovaná s těmito atributy.

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

Stáhněte projekt a extrahujte .zip do složky v blízkosti kořenového adresáře jednotky. Například C:\Azure-Samples.

Pokud chcete používat HTTPS s localhost, zadejte server.ssl.key vlastnosti. Pokud chcete vygenerovat certifikát podepsaný svým držitelem, použijte nástroj keytool (který je součástí prostředí 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

Vygenerovaný soubor úložiště klíčů umístěte do složky resources.

Poznámka

Enter_the_Supported_Account_Info_Here

Krok 3: Konfigurace ukázky kódu

  1. Soubor .zip extrahujte do místní složky.

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

  3. Otevřete soubor application.properties. Najdete ho ve složce src/main/resources/. Nahraďte hodnoty v polích , a aad.clientId hodnotami ID aad.authority aplikace, ID tenanta a aad.secretKey tajného klíče klienta. Mělo by to vypadat takhle:

    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, kterou jste zaregistrovali.
    • Enter_the_Client_Secret_Here je tajný Enter_the_Client_Secret_Here který jste vytvořili v tajných klíči certifikátů pro aplikaci, kterou jste zaregistrovali.
    • Enter_the_Tenant_Info_Here je hodnota Enter_the_Tenant_Info_Here aplikace, kterou jste zaregistrovali.
  4. Pokud chcete používat HTTPS s localhost, zadejte server.ssl.key vlastnosti. Pokud chcete vygenerovat certifikát podepsaný svým držitelem, použijte nástroj keytool (který je součástí prostředí 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
    
  5. Vygenerovaný soubor úložiště klíčů umístěte do složky resources.

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

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

Pokud chcete projekt spustit, postupujte následovně:

  • Spusťte ho přímo z integrovaného vývojového prostředí pomocí integrovaného vývojového Spring Boot serveru.
  • Zabalte ho do souboru WAR pomocí Mavenua 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í, 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 přední stránce vyberte tlačítko Přihlásit, aby se uživatelé přesměroval na Azure Active Directory a vyzvat je 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. V ukázkovém uživatelském rozhraní jsou tato tlačítka:

    • Sign Out(Odhlásit se): Odsoudí 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ý vrací základní informace o přihlášených uživatelích.
Spuštění projektu z Tomcatu

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

  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 existují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 je pom.xml soubor) a spuštěním mvn package sestavte projekt.

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

Důležité

V tomto rychlém startu aplikace se k identifikaci jako důvěrného klienta používá tajný klíč klienta. Vzhledem k tomu, že se tajný klíč klienta přidá do souborů projektu jako prostý text, z bezpečnostních důvodů doporučujeme použít certifikát místo tajného klíče klienta před použitím aplikace v produkčním prostředí. Další informace o použití certifikátu najdete v tématu přihlašovací údaje certifikátu pro ověřování aplikací.

Další informace

Jak ukázka funguje

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

Získat MSAL

MSAL for Java (MSAL4J) je knihovna Java používaná k přihlašování uživatelů a žádosti o tokeny, které se používají pro přístup k rozhraní API, které je chráněné Microsoft identity platform.

Přidejte do své aplikace MSAL4J pomocí Maven nebo Gradle pro správu závislostí provedením následujících změn v souboru aplikace pom.xml (Maven) nebo Build. Gradle (Gradle).

V pom.xml:

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

V sestavení. Gradle:

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

Inicializovat MSAL

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

import com.microsoft.aad.msal4j.*;

Nápověda a podpora

Pokud potřebujete pomoc, chcete ohlásit problém nebo získat informace o možnostech podpory, přečtěte si téma pomoc a podpora pro vývojáře.

Další kroky

podrobnější diskuzi o sestavování webových aplikací, které přihlásily uživatele na Microsoft identity platform, najdete v řadě scénářů s více částmi: