Rövid útmutató: Felhasználók bejelentkezése és a Microsoft Graph API meghívása Java-webalkalmazásból
Ebben a rövid útmutatóban letölthet és futtathat egy kódmintát, amely bemutatja, hogyan jelentkezhet be egy Java-webalkalmazás a felhasználókba, és hogyan hívhatja meg a Microsoft Graph API-t. Bármely Microsoft Entra-szervezet felhasználói bejelentkezhetnek az alkalmazásba.
Tekintse meg , hogyan működik a minta egy illusztrációhoz.
Előfeltételek
A minta futtatásához a következőkre van szükség:
- Java Development Kit (JDK) 8 vagy újabb.
- Maven.
A rövid útmutató mintaalkalmazásának regisztrálása és letöltése
Tipp.
A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.
A gyorsútmutató alkalmazás kétféleképpen indítható el: expressz (1. lehetőség) és manuális (2. lehetőség).
1. lehetőség: Regisztrálja és automatikusan konfigurálja az alkalmazást, majd töltse le a kódmintát
- Lépjen a Microsoft Entra Felügyeleti központba – Alkalmazásregisztrációk rövid útmutatót, amely legalább egy felhőalapú alkalmazás Rendszergazda istratorként szolgál.
- Adja meg az alkalmazás nevét, majd válassza a Regisztráció lehetőséget.
- Kövesse a portál gyorsútmutatójának utasításait az automatikusan konfigurált alkalmazáskód letöltéséhez.
2. lehetőség: Az alkalmazás és a kódminta regisztrálása és kézi konfigurálása
1. lépés: Az alkalmazás regisztrálása
Az alkalmazás regisztrálásához és az alkalmazás regisztrációs adatainak manuális hozzáadásához kövesse az alábbi lépéseket:
- Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
- Ha több bérlőhöz is hozzáfér, a felső menü Gépház ikonjávalválthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből.
- Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk és válassza az Új regisztráció lehetőséget.
- Adja meg az alkalmazás nevét, például java-webappot. Az alkalmazás felhasználói láthatják ezt a nevet. Később módosíthatja.
- Válassza ki a pénztárgépet.
- Az Áttekintés lapon jegyezze fel az alkalmazás (ügyfél) azonosítóját és a címtár (bérlő) azonosítóját. Ezekre az értékekre később szüksége lesz.
- A Kezelés területen válassza a Hitelesítés lehetőséget.
- Válassza a Platformweb> hozzáadása lehetőséget.
- Az Átirányítási URI-k szakaszban adja meg a következőt
https://localhost:8443/msal4jsample/secure/aad
: - Válassza a Konfigurálás lehetőséget.
- A webszakasz Átirányítási URI-k területén adja meg
https://localhost:8443/msal4jsample/graph/me
második átirányítási URI-ként. - A Kezelés területen válassza a Tanúsítványok és titkos kódok lehetőséget. Az Ügyfél titkos kulcsok szakaszban válassza az Új ügyfélkód lehetőséget.
- Adjon meg egy kulcsleírást (például alkalmazáskulcsot), hagyja meg az alapértelmezett lejáratot, és válassza a Hozzáadás lehetőséget.
- Jegyezze fel az ügyfél titkos kódjának értékét . Erre később még szüksége lesz.
2. lépés: A kódminta letöltése
3. lépés: A kódminta konfigurálása
Bontsa ki a zip-fájlt egy helyi mappába.
Opcionális. Ha integrált fejlesztési környezetet használ, nyissa meg a mintát ebben a környezetben.
Nyissa meg az application.properties fájlt. Az src/main/resources/ mappában található. Cserélje le a mezők
aad.clientId
értékeit,aad.authority
illetveaad.secretKey
az alkalmazásazonosítót, a bérlőazonosítót és az ügyfél titkos kódértékét. A következőképpen kell kinéznie: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/"
Az előző kódban:
Enter_the_Application_Id_here
a regisztrált alkalmazás alkalmazásazonosítója.Enter_the_Client_Secret_Here
a regisztrált alkalmazás Tanúsítvány & titkos kulcsaiban létrehozott ügyféltitk.Enter_the_Tenant_Info_Here
a regisztrált alkalmazás címtár-(bérlői) azonosítójának értéke.
- Ha a HTTPS-t a localhosttal szeretné használni, adja meg a
server.ssl.key
tulajdonságokat. Önaláírt tanúsítvány létrehozásához használja a keytool segédprogramot (amely a JRE része).
Példa:
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
- Helyezze a létrehozott kulcstárfájlt az erőforrások mappájába.
4. lépés: A kódminta futtatása
A projekt futtatásához hajtsa végre az alábbi lépések egyikét:
- Futtassa közvetlenül az IDE-ből a beágyazott Spring Boot-kiszolgálóval.
- Csomagolja be egy WAR-fájlba a Maven használatával, majd helyezze üzembe egy J2 Enterprise kiadás tárolómegoldásban, például az Apache Tomcatben.
A projekt futtatása IDE-ből
A webalkalmazás IDE-ből való futtatásához válassza a Futtatás lehetőséget, majd nyissa meg a projekt kezdőlapját. Ebben a mintában a szokásos kezdőlap URL-címe a következő: https://localhost:8443.
A kezdőlapon válassza a Bejelentkezés gombot, amely átirányítja a felhasználókat a Microsoft Entra-azonosítóra, és kéri a hitelesítő adatokat.
A felhasználók hitelesítése után a rendszer átirányítja őket a következőre
https://localhost:8443/msal4jsample/secure/aad
: . Most már be vannak jelentkezve, és a lapon megjelennek a felhasználói fiók adatai. A minta felhasználói felületen a következő gombok találhatók:- Kijelentkezés: Kijelentkezteti az aktuális felhasználót az alkalmazásból, és átirányítja a felhasználót a kezdőlapra.
- Felhasználói adatok megjelenítése: Jogkivonatot szerez be a Microsoft Graphhoz, és meghívja a Microsoft Graphot a jogkivonatot tartalmazó kéréssel, amely alapvető információkat ad vissza a bejelentkezett felhasználóról.
A projekt futtatása a Tomcatből
Ha a webes mintát a Tomcatben szeretné üzembe helyezni, végezze el a forráskód néhány módosítását.
Nyissa meg az ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication webhelyet.
Törölje az összes forráskódot, és cserélje le a következő kódra:
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); } }
A Tomcat alapértelmezett HTTP-portja 8080, de HTTPS-kapcsolatra van szüksége a 8443-as porton keresztül. A beállítás konfigurálása:
Nyissa meg a tomcat/conf/server.xml.
Keresse meg a címkét
<connector>
, és cserélje le a meglévő összekötőt erre az összekötőre:<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"/>
Nyissa meg a parancssori ablakot. Nyissa meg a minta gyökérmappáját (ahol a
pom.xml
fájl található), és futtassamvn package
a projektet.- Ez a parancs létrehoz egy
msal-web-sample-0.1.0.war
fájlt a/targets
címtárban. - Nevezze át ezt a fájlt a fájlra
msal4jsample.war
. - Helyezze üzembe a WAR-fájlt a Tomcat vagy bármely más J2 Enterprise kiadás tárolómegoldás használatával.
- A
msal4jsample.war
fájl üzembe helyezéséhez másolja a fájlt a/webapps/
Tomcat-telepítés könyvtárába, majd indítsa el a Tomcat-kiszolgálót.
- A
- Ez a parancs létrehoz egy
A fájl üzembe helyezése után nyissa meg
https://localhost:8443/msal4jsample
a böngészőt.
Fontos
Ez a rövid útmutató alkalmazás egy ügyfél titkos kódjával azonosítja magát bizalmas ügyfélként. Mivel az ügyfélkulcs egyszerű szövegként van hozzáadva a projektfájlokhoz, biztonsági okokból azt javasoljuk, hogy az alkalmazás éles környezetben való használata előtt az ügyfélkulcs helyett használjon tanúsítványt. További információ a tanúsítványok használatáról: Tanúsítvány hitelesítő adatai az alkalmazáshitelesítéshez.
További információ
A minta működése
MSAL lekérése
Az MSAL for Java (MSAL4J) a felhasználók bejelentkezésére és jogkivonatok lekérésére használt Java-kódtár, amely a Microsoft Identitásplatform által védett API-k eléréséhez használható.
MSAL4J hozzáadása az alkalmazáshoz a Maven vagy a Gradle használatával a függőségek kezeléséhez az alkalmazás pom.xml (Maven) vagy build.gradle (Gradle) fájljának alábbi módosításával.
A pom.xml:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.0.0</version>
</dependency>
A build.gradle-ben:
compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'
MSAL inicializálása
Adjon hozzá egy hivatkozást a Java-hoz készült MSAL-ra a következő kód hozzáadásával a fájl elején, ahol az MSAL4J-t fogja használni:
import com.microsoft.aad.msal4j.*;
Súgó és támogatás
Ha segítségre van szüksége, szeretne jelentést készíteni egy problémáról, vagy szeretne többet megtudni a támogatási lehetőségekről, olvassa el a súgót és a fejlesztők támogatását.
Következő lépések
A felhasználókat a Microsoft Identitásplatform bejelentkező webalkalmazások létrehozásának részletesebb ismertetéséhez tekintse meg a többrészes forgatókönyv-sorozatot: