Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk egy Java Tomcat-alkalmazást mutat be, amely a felhasználókat az Ön Microsoft Entra ID-bérlőjébe jelentkezteti be a Microsoft Authentication Library (MSAL) for Java használatával.
Az alábbi ábrán az alkalmazás topológiája látható:
Az alkalmazás topológiáját bemutató diagram.
Az ügyfélalkalmazás a Java-alapú MSAL-t (MSAL4J) használja arra, hogy bejelentkeztesse a felhasználókat a saját Microsoft Entra ID-bérlőjükbe, és lekérjen egy ID token tokent a Microsoft Entra ID-ból. Az ID-jogkivonat igazolja, hogy a felhasználó hitelesítve van ebben a bérlőben. Az alkalmazás a felhasználó hitelesítési állapota alapján védi az útvonalait.
Előfeltételek
- JDK 8-as vagy újabb verzió
- Maven 3
- Egy Microsoft Entra ID-bérlő. További információért lásd: Microsoft Entra ID-bérlő beszerzése.
- Egy felhasználói fiók a saját Microsoft Entra ID-bérlőjében, ha csak a szervezeti címtárban lévő fiókokkal szeretne dolgozni , azaz egybérlős módban. Ha még nem hozott létre felhasználói fiókot a Microsoft Entra ID-bérlőjében, ezt a folytatás előtt tegye meg. További információkért lásd: Felhasználók létrehozása, meghívása és törlése.
- Egy felhasználói fiók bármely szervezet Microsoft Entra ID-bérlőjében, ha bármely szervezeti címtárban szeretne fiókokkal dolgozni, azaz több-bérlős üzemmódban. Ezt a mintát úgy kell módosítania, hogy személyes Microsoft-fiókkal működjön. Ha még nem hozott létre felhasználói fiókot a Microsoft Entra ID-bérlőben, a folytatás előtt tegye meg. További információkért lásd: Felhasználók létrehozása, meghívása és törlése.
- Személyes Microsoft-fiók – például Xbox, Hotmail, Live stb. – akkor, ha személyes Microsoft-fiókkal szeretne dolgozni.
- Tomcat 9
- Visual Studio Code
- Azure-eszközök a Visual Studio Code-hoz
Ajánlások
- Némi ismeret a Java / Jakarta szervletek terén.
- A Linux/OSX terminál ismerete.
- jwt.ms a tokenjei vizsgálatához.
- A Fiddler a hálózati tevékenység figyelésére és hibaelhárításra.
- Kövesse a Microsoft Entra Blogot, hogy naprakész maradjon a legújabb fejleményekről.
A minta beállítása
Az alábbi szakaszok bemutatják, hogyan állíthatja be a mintaalkalmazást.
A mintaadattár klónozása vagy letöltése
A minta klónozásához nyisson meg egy Bash-ablakot, és használja a következő parancsot:
git clone https://github.com/Azure-Samples/ms-identity-msal-java-samples.git
cd 3-java-servlet-web-app/1-Authentication/sign-in
Alternatív megoldásként keresse meg a ms-identity-msal-java-samples tárházat, majd töltse le .zip fájlként, és csomagolja ki a merevlemezére.
Fontos
A Windows fájlelérési útvonalának korlátozásainak elkerülése érdekében klónozza vagy bontsa ki az adattárat a merevlemez gyökerének közelében található könyvtárba.
A mintaalkalmazás regisztrálása a Microsoft Entra ID-bérlőben
Ebben a mintában egy projekt szerepel. Ez a szakasz bemutatja, hogyan regisztrálhatja az alkalmazást.
Először regisztrálja az alkalmazást az Azure Portalon a Rövid útmutató: Alkalmazás regisztrálása a Microsoft identitásplatformon című cikk utasításait követve.
Ezután a következő lépésekkel fejezze be a regisztrációt:
Lépjen a Microsoft fejlesztői identitásplatform Alkalmazásregisztrációk oldalára.
Válassza az Új regisztráció lehetőséget.
A megjelenő Alkalmazás regisztrálása lapon adja meg a következő alkalmazásregisztrációs adatokat:
A Name részben adjon meg egy beszédes alkalmazásnevet, amely az alkalmazás felhasználói számára jelenik meg – például: .
A Támogatott fióktípusok területen válasszon az alábbi lehetőségek közül:
- Ha olyan alkalmazást hoz létre, amelyet csak az Ön bérlőjében lévő felhasználók használhatnak, vagyis egy egybérlős alkalmazást, válassza a Csak ebben a szervezeti címtárban lévő fiókok lehetőséget.
- Válassza a Bármely szervezeti címtárban lévő fiókok lehetőséget, ha azt szeretné, hogy bármely Microsoft Entra ID-bérlő felhasználói használhassák az alkalmazását – vagyis egy több-bérlős alkalmazást.
- Válassza a Bármely szervezeti címtárban lévő fiókok és személyes Microsoft-fiókok lehetőséget a lehető legszélesebb ügyfélkör eléréséhez – vagyis egy olyan több-bérlős alkalmazást, amely a személyes Microsoft-fiókokat is támogatja.
- Válassza ki a Személyes Microsoft-fiókokat , amelyeket csak személyes Microsoft-fiókok felhasználói használhatnak – például Hotmail, Live, Skype és Xbox fiókokat.
A Redirect URI szakaszban válassza a Web lehetőséget a legördülő listában, majd adja meg a következő átirányítási URI-t: .
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az alkalmazás regisztrációs oldalán keresse meg és másolja ki az alkalmazás (ügyfél) azonosítójának értékét, amelyet később használni szeretne. Ezt az értéket az alkalmazás konfigurációs fájljában vagy fájljaiban használja.
Az alkalmazás regisztrációs oldalán válassza a Tanúsítványok > titkos kulcsok lehetőséget a navigációs panelen a titkos kódok létrehozásához és a tanúsítványok feltöltéséhez.
A Ügyfél titkos kulcsai szakaszban válassza az Új ügyfél-titkos kulcs lehetőséget.
Írja be a leírást – például az alkalmazás titkos kódját.
Válasszon lejáratot a titkos kódhoz, vagy adjon meg egy egyéni élettartamot. Az ügyfél titkos kulcsainak maximális élettartama 24 hónap, és Microsoft 12 hónapnál rövidebb lejáratot javasol. Éles alkalmazások esetén előnyben részesítse a tanúsítványt vagy az összevont identitás hitelesítő adatait az ügyfél titkos kulcsával szemben.
Válassza a Hozzáadás lehetőséget. Megjelenik a létrehozott érték.
Másolja és mentse a létrehozott értéket a későbbi lépésekben való használatra. Szüksége van erre az értékre a kód konfigurációs fájljaihoz. Ez az érték nem jelenik meg újra, és más módon nem kérhető le. Ezért mindenképpen mentse az Azure Portalról, mielőtt bármilyen más képernyőre vagy panelre navigálna.
Az alkalmazás konfigurálása a saját alkalmazásregisztráció használatára
Az alkalmazás konfigurálásához kövesse az alábbi lépéseket:
Megjegyzés
A következő lépésekben a ugyanaz, mint a vagy a .
Nyissa meg a projektet az IDE-ben.
Nyissa meg a ./src/main/resources/authentication.properties fájlt.
Keresse meg a(z) karakterláncot. Cserélje le a meglévő értéket az alábbi értékek egyikére:
- A Microsoft Entra ID-bérlőazonosítója, ha az alkalmazását a Csak ebben a szervezeti címtárban lévő fiókok lehetőséggel regisztrálta.
- A szó, ha az alkalmazását a Bármely szervezeti címtárban lévő fiókok lehetőséggel regisztrálta.
- A szó, ha az alkalmazását a Bármely szervezeti címtárban lévő fiókok és személyes Microsoft-fiókok beállítással regisztrálta.
- A(z) szó, ha az alkalmazását a Személyes Microsoft-fiókok beállítással regisztrálta.
Keresse meg a(z) karakterláncot, és cserélje le a meglévő értéket a(z) alkalmazás Azure Portalból kimásolt alkalmazásazonosítójára vagy értékére.
Keresse meg a(z) karakterláncot, és cserélje le a meglévő értéket a alkalmazás létrehozásakor, az Azure Portalon mentett értékre.
A minta összeállítása
Ha a mintát a Maven használatával szeretné létrehozni, keresse meg a minta pom.xml fájljának könyvtárát, majd futtassa a következő parancsot:
mvn clean package
Ez a parancs létrehoz egy .war fájlt, amelyet különböző alkalmazáskiszolgálókon futtathat.
A példa futtatása
- Üzembe helyezés az Azure App Service-be
- Futtatás helyileg
Az alábbi szakaszok bemutatják, hogyan helyezheti üzembe a mintát Azure-alkalmazás szolgáltatásban.
Előfeltételek
Maven-bővítmény Azure App Service-alkalmazásokhoz
Ha nem a Maven az előnyben részesített fejlesztési eszköz, tekintse meg az alábbi hasonló oktatóanyagokat, amelyek más eszközöket használnak:
- IntelliJ IDEA
- Eclipse
- Visual Studio Code
A Maven beépülő moduljának konfigurálása
A Azure-alkalmazás Szolgáltatásban való üzembe helyezéskor az üzembe helyezés automatikusan az Azure CLI-ből származó Azure-hitelesítő adatokat használja. Ha az Azure CLI nincs helyileg telepítve, akkor a Maven beépülő modul az OAuth vagy az eszköz bejelentkezésével hitelesít. További információért lásd: hitelesítés a Maven beépülőmodulokkal.
A beépülő modul konfigurálásához kövesse az alábbi lépéseket:
Futtassa a következő parancsot az üzembe helyezés konfigurálásához. Ez a parancs segít a Azure-alkalmazás szolgáltatás operációs rendszerének, a Java-verziónak és a Tomcat-verziónak a beállításában.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:configA Új futtatási konfiguráció létrehozása lehetőséghez nyomja meg a Y billentyűt, majd nyomja meg az Enter billentyűt.
Az operációs rendszer értékének megadásához Windows esetén nyomja meg a 1-et, Linux esetén pedig a 2-t, majd nyomja meg az Enter billentyűt.
A Define value for javaVersion lehetőségnél nyomja meg a 2 billentyűt a Java 11 kiválasztásához, majd nyomja meg az Enter billentyűt.
A(z) Define value for webContainer résznél nyomja meg a 4-et a Tomcat 9.0 kiválasztásához, majd nyomja meg az Enter billentyűt.
A pricingTier értékének meghatározásához nyomja le az Enter billentyűt az alapértelmezett P1v2 szint kiválasztásához.
A Megerősítés lehetőséghez nyomja meg a Y billentyűt, majd nyomja meg az Enter billentyűt.
Az alábbi példa az üzembehelyezési folyamat kimenetét mutatja be:
Please confirm webapp properties
AppName : msal4j-servlet-auth-1707209552268
ResourceGroup : msal4j-servlet-auth-1707209552268-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 11
Web server stack: Tomcat 9.0
Deploy to slot : false
Confirm (Y/N) [Y]: [INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 37.112 s
[INFO] Finished at: 2024-02-06T08:53:02Z
[INFO] ------------------------------------------------------------------------
Miután megerősítette a választásait, a plugin hozzáadja a szükséges pluginelemet és beállításokat a projekt pom.xml fájljához, hogy konfigurálja az alkalmazást az Azure App Service-ben való futtatáshoz.
A pom.xml fájl releváns részének az alábbi példához hasonlóan kell kinéznie:
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
Az App Service konfigurációit közvetlenül a pom.xml-ben módosíthatja. Néhány gyakori konfiguráció az alábbi táblázatban található:
| Tulajdonság | Kötelező | Leírás |
|---|---|---|
subscriptionId |
false | Az előfizetés azonosítója. |
resourceGroup |
true | Az alkalmazás Azure-erőforráscsoportja. |
appName |
true | Az alkalmazás neve. |
region |
false | Az a régió, amelyben az alkalmazást üzemeltetni szeretné. Az alapértelmezett érték . Az érvényes régiókat lásd itt: Támogatott régiók. |
pricingTier |
false | Az alkalmazás tarifacsomagja. Az alapértelmezett érték éles környezetben futó munkaterhelés esetén . A Java fejlesztéséhez és teszteléséhez ajánlott minimális érték: . További információkért lásd: App Service díjszabás. |
runtime |
false | A futtatókörnyezet konfigurációja. További információért lásd: A konfiguráció részletei. |
deployment |
false | Az üzembehelyezési konfiguráció. További információért lásd: A konfiguráció részletei. |
A konfigurációk teljes listáját a beépülő modul referenciadokumentációjában találja. Az összes Azure Maven-bővítmény egy közös konfigurációkészletet használja. Ezekkel a konfigurációkkal kapcsolatban lásd: Gyakori konfigurációk. Az Azure App Service-re vonatkozó konfigurációkkal kapcsolatban lásd: Azure-alkalmazás: Konfiguráció részletei.
Ügyeljen arra, hogy a és értékeket tegye félre későbbi használatra.
Az alkalmazás előkészítése az üzembe helyezéshez
Amikor üzembe helyezi az alkalmazást az App Service-ben, az átirányítási URL-cím az üzembe helyezett alkalmazáspéldány átirányítási URL-címére változik. A tulajdonságok fájljában a következő lépésekkel módosíthatja ezeket a beállításokat:
Keresse meg az alkalmazás authentication.properties fájlját, és módosítsa a értékét a telepített alkalmazás tartománynevére, az alábbi példában látható módon. Ha például az előző lépésben az alkalmazás neveként a elemet választotta, akkor most a értékeként a értéket kell használnia. Ügyeljen arra is, hogy a protokollt -ról -re változtatta.
# app.homePage is by default set to dev server address and app context path on the server # for apps deployed to azure, use https://your-sub-domain.azurewebsites.net app.homePage=https://<your-app-name>.azurewebsites.netA fájl mentése után használja az alábbi parancsot az alkalmazás újraépítéséhez:
mvn clean package
Fontos
Ugyanebben a authentication.properties fájlban található egy beállítás az Ön eleméhez. Nem ajánlott ezt az értéket az App Service-ben üzembe helyezni. Az sem jó gyakorlat, ha ezt az értéket a kódban hagyja, és esetleg feltölti a Git-repozitóriumba. A titkos érték kódból való eltávolításához további részletes útmutatást a Üzembe helyezés az App Service-ben – Titkos adat eltávolítása című szakaszban talál. Ez az útmutató további lépéseket ad hozzá a titkos érték Key Vaultba való feltöltéséhez, valamint a Key Vault References használatához.
A Microsoft Entra ID alkalmazásregisztráció frissítése
Mivel az átirányítási URI az Azure App Service-be üzembe helyezett alkalmazás URI-jára változik, a Microsoft Entra ID alkalmazásregisztrációban is módosítania kell az átirányítási URI-t. A módosítás végrehajtásához kövesse az alábbi lépéseket:
Lépjen a Microsoft fejlesztői identitásplatform Alkalmazásregisztrációk oldalára.
A keresőmezővel keressen rá az alkalmazásregisztrációjára – például: .
Nyissa meg az alkalmazásregisztrációt a nevének kiválasztásával.
Válassza a Hitelesítés lehetőséget a menüben.
A Webátirányítási URI-k szakaszban válassza az URI hozzáadása lehetőséget.
Adja meg az alkalmazás URI-ját a(z) hozzáfűzésével – például: .
Válassza a Mentés lehetőséget.
Az alkalmazás üzembe helyezése
Most már készen áll arra, hogy üzembe helyezze az alkalmazását az Azure App Service-be. Az alábbi paranccsal győződjön meg arról, hogy bejelentkezett az Azure-környezetbe az üzembe helyezés végrehajtásához:
az login
Ha az összes konfiguráció készen áll a pom.xml fájlban, a következő paranccsal telepítheti a Java-alkalmazást az Azure-ban:
mvn package azure-webapp:deploy
A telepítés befejezése után az alkalmazás itt érhető el: Nyissa meg az URL-t a helyi webböngészőjében, ahol a alkalmazás kezdőoldalát kell látnia.
A minta vizsgálata
A minta megismeréséhez kövesse az alábbi lépéseket:
- Figyelje meg a bejelentkezett vagy kijelentkezett állapotot a képernyő közepén.
- Válassza a sarokban található környezetérzékeny gombot. Ez a gomb Bejelentkezés feliratot mutat az alkalmazás első indításakor.
- A következő lapon kövesse az utasításokat, és jelentkezzen be egy fiókkal a Microsoft Entra ID-bérlőben.
- A hozzájárulási képernyőn figyelje meg a kért hatóköröket.
- Figyelje meg, hogy a környezetfüggő gombon most ez áll: Kijelentkezés, és megjelenik rajta a felhasználóneve.
- Válassza az Azonosító jogkivonat részletei lehetőséget az azonosító jogkivonat egyes dekódolt jogcímeinek megtekintéséhez.
- A kijelentkezéshez használja a sarokban lévő gombot.
- Kijelentkezés után válassza az ID Token Details lehetőséget, és figyelje meg, hogy az alkalmazás az ID token jellemzői helyett egy hibát jelenít meg, ha a felhasználó nincs jogosultként engedélyezve.
Tudnivalók a kódról
Ez a minta bemutatja, hogyan használható az MSAL for Java (MSAL4J) a felhasználók saját Microsoft Entra ID-bérlőjébe való bejelentkeztetéséhez. Ha saját alkalmazásaiban szeretné használni az MSAL4J-t, akkor azt a Maven használatával kell hozzáadnia a projektjeihez.
Ha replikálni szeretné a minta viselkedését, az src/main/java/com/microsoft/azuresamples/msal4j mappába másolhatja a pom.xml fájlt, valamint a segítők és authservlets mappák tartalmát. Szüksége van a authentication.properties fájlra is. Ezek az osztályok és fájlok általános kódot tartalmaznak, amelyeket számos alkalmazásban használhat. A minta többi részét is másolhatja, de a többi osztály és fájl kifejezetten a minta céljának megfelelően van létrehozva.
Tartalom
Az alábbi táblázat a mintaprojekt mappájának tartalmát mutatja be:
| Fájl/mappa | Leírás |
|---|---|
| src/main/java/com/microsoft/azuresamples/msal4j/authwebapp/ | Ez a könyvtár tartalmazza azokat az osztályokat, amelyek meghatározzák az alkalmazás háttérbeli üzleti logikáját. |
| src/main/java/com/microsoft/azuresamples/msal4j/authservlets/ | Ez a könyvtár tartalmazza a bejelentkezéshez és a végpontok kijelentkezéshez használt osztályokat. |
| *Servlet.java | Az összes elérhető végpont java osztályokban van definiálva, amelyek neve Servletvégződik. |
| src/main/java/com/microsoft/azuresamples/msal4j/helpers/ | Segédosztályok a hitelesítéshez. |
| AuthenticationFilter.java | A nem hitelesített kéréseket átirányítja a védett végpontokra egy 401-es lapra. |
| src/main/resources/authentication.properties | Microsoft Entra-azonosító és programkonfiguráció. |
| src/main/webapp/ | Ez a könyvtár tartalmazza a felhasználói felület – JSP-sablonokat |
| CHANGELOG.md | A minta módosításainak listája. |
| CONTRIBUTING.md | Útmutató a mintához való hozzájáruláshoz. |
| LICENC | A minta licencje. |
ConfidentialClientApplication
A példány a AuthHelper.java fájlban jön létre, ahogyan az a következő példában látható. Ez az objektum segít a Microsoft Entra-azonosító engedélyezési URL-címének elkészítésében, valamint a hitelesítési jogkivonatok hozzáférési jogkivonatra való cseréjében.
// getConfidentialClientInstance method
IClientSecret secret = ClientCredentialFactory.createFromSecret(SECRET);
confClientInstance = ConfidentialClientApplication
.builder(CLIENT_ID, secret)
.authority(AUTHORITY)
.build();
A rendszer a következő paramétereket használja a példányosításhoz:
- Az alkalmazás ügyfélazonosítója.
- Az ügyfél titkos kódja, amely a bizalmas ügyfélalkalmazások követelménye.
- A Microsoft Entra ID hitelesítésszolgáltató, amely magában foglalja a Microsoft Entra ID bérlőazonosítóját.
Ebben a mintában ezeket az értékeket a rendszer a authentication.properties fájlból olvassa be a Config.java fájl egyik tulajdonságolvasójának használatával.
Útmutató lépésről lépésre
Az alábbi lépések bemutatja az alkalmazás funkcióit:
A bejelentkezési folyamat első lépése, hogy elküld egy kérést a Microsoft Entra ID-bérlőjéhez tartozó végpontra. Az MSAL4J példányt egy hitelesítési kérés URL-címének összeállítására használják. Az alkalmazás átirányítja a böngészőt erre az URL-címre, ahol a felhasználó bejelentkezik.
final ConfidentialClientApplication client = getConfidentialClientInstance(); AuthorizationRequestUrlParameters parameters = AuthorizationRequestUrlParameters.builder(Config.REDIRECT_URI, Collections.singleton(Config.SCOPES)) .responseMode(ResponseMode.QUERY).prompt(Prompt.SELECT_ACCOUNT).state(state).nonce(nonce).build(); final String authorizeUrl = client.getAuthorizationRequestUrl(parameters).toString(); contextAdapter.redirectUser(authorizeUrl);Az alábbi lista a kód funkcióit ismerteti:
: Az AuthorizationRequestUrl felépítéséhez beállítandó paraméterek.
: Az a hely, ahová a Microsoft Entra ID átirányítja a böngészőt – a hitelesítési kóddal együtt –, miután összegyűjtötte a felhasználó hitelesítő adatait. Meg kell egyeznie a Microsoft Entra ID alkalmazásregisztrációjában, a Azure Portalban megadott átirányítási URI-val.
: Hatókörök az alkalmazás által kért engedélyek. Általában a három hatókör elegendő az ID-jogkivonat-válasz fogadásához.
Az alkalmazás által kért hatókörök teljes listáját a authentication.properties fájlban találja. További hatóköröket is hozzáadhat, például .
A microsoft Entra ID egy bejelentkezési kérést jelenít meg a felhasználó számára. Ha a bejelentkezési kísérlet sikeres, a rendszer átirányítja a felhasználó böngészőjét az alkalmazás átirányítási végpontjára. Az erre a végpontra irányuló érvényes kérés tartalmaz egy engedélyezési kódot.
A példány ezután beváltja ezt az engedélyezési kódot egy azonosító tokenre és egy hozzáférési tokenre a Microsoft Entra ID-tól.
// First, validate the state, then parse any error codes in response, then extract the authCode. Then: // build the auth code params: final AuthorizationCodeParameters authParams = AuthorizationCodeParameters .builder(authCode, new URI(Config.REDIRECT_URI)).scopes(Collections.singleton(Config.SCOPES)).build(); // Get a client instance and leverage it to acquire the token: final ConfidentialClientApplication client = AuthHelper.getConfidentialClientInstance(); final IAuthenticationResult result = client.acquireToken(authParams).get();Az alábbi lista a kód funkcióit ismerteti:
- : Azok a paraméterek, amelyeket be kell állítani ahhoz, hogy az engedélyezési kódot ID-tokenre és/vagy hozzáférési tokenre lehessen cserélni.
- : Az átirányítási végponton kapott engedélyezési kód.
- : Az előző lépésben használt átirányítási URI-t ismét át kell adni.
- : Az előző lépésben használt hatóköröket újra át kell adni.
Ha a sikeres, a rendszer kinyeri a token jogcímeit. Ha a nonce-ellenőrzés sikeres, az eredmények a — a egy példánya — elembe kerülnek, és mentésre kerülnek a munkamenetben. Az alkalmazás ezután a munkamenetből, a egy példányán keresztül példányosíthatja a elemet, valahányszor hozzá kell férnie, ahogy az a következő kódban látható:
// parse IdToken claims from the IAuthenticationResult: // (the next step - validateNonce - requires parsed claims) context.setIdTokenClaims(result.idToken()); // if nonce is invalid, stop immediately! this could be a token replay! // if validation fails, throws exception and cancels auth: validateNonce(context); // set user to authenticated: context.setAuthResult(result, client.tokenCache().serialize());
Az útvonalak védelme
További információ arról, hogy a mintaalkalmazás hogyan szűri az útvonalakhoz való hozzáférést: AuthenticationFilter.java. Az authentication.properties fájlban a tulajdonság azokat a vesszővel elválasztott útvonalakat tartalmazza, amelyekhez csak a hitelesített felhasználók férhetnek hozzá, amint az a következő példában látható:
# for example, /token_details requires any user to be signed in and does not require special roles claim(s)
app.protect.authenticated=/token_details
Hatókörök
A hatókörök adják meg a Microsoft Entra ID számára azt a hozzáférési szintet, amelyet az alkalmazás igényel.
A kért hatókörök alapján a Microsoft Entra ID hozzájárulási párbeszédet jelenít meg a felhasználónak bejelentkezéskor. Ha a felhasználó hozzájárul egy vagy több hatókörhöz, és tokent kap, akkor a jóváhagyott hatókörök kódolva lesznek az így kapott -ba.
Az alkalmazás által kért hatóköröket lásd itt: authentication.properties. Ezt a három hatókört az MSAL kéri, és alapértelmezés szerint a Microsoft Entra ID adja meg.
További információ
- Microsoft Authentication Library (MSAL) Javához
- MSAL Java referenciadokumentáció
- Microsoft identitásplatform (Microsoft Entra ID a fejlesztőknek)
- Gyorsútmutató: alkalmazás regisztrálása a Microsoft identitásplatformon
- Ismerkedés a Microsoft Entra ID-alkalmazások hozzájárulási felhasználói élményeivel
- A felhasználói és rendszergazdai hozzájárulás megértése
- MSAL mintakódok