A Java Spring Boot-alkalmazások engedélyezése a felhasználók bejelentkezéséhez és a Microsoft Graph eléréséhez
Ez a cikk egy Java Spring Boot-webalkalmazást mutat be, amely bejelentkezik a felhasználókba, és hozzáférési jogkivonatot szerez be a Microsoft Graph meghívásához. A Microsoft Entra ID Spring Boot Starter ügyfélkódtárát használja a Java-hoz hitelesítéshez, engedélyezéshez és jogkivonat-beszerzéshez. A Microsoft Graph SDK for Java használatával szerez be adatokat a Graphból.
Az alábbi ábrán az alkalmazás topológiája látható:
Az alkalmazás a Java-hoz készült Microsoft Entra ID Spring Boot Starter ügyfélkódtár használatával szerez be egy hozzáférési jogkivonatot a Microsoft Graphhoz a Microsoft Entra ID-ból. A hozzáférési jogkivonat igazolja, hogy a felhasználó jogosult a Hatókörben meghatározott Microsoft Graph API-végpont elérésére.
Előfeltételek
- JDK 15-ös verzió. Ez a minta java 15-ös rendszeren lett kifejlesztve, de más verziókkal kompatibilis lehet.
- Maven 3
- Java Extension Pack for Visual Studio Code a minta Visual Studio Code-ban való futtatásához ajánlott.
- Egy Microsoft Entra ID-bérlő. További információ: Microsoft Entra ID-bérlő lekérése.
- Egy felhasználói fiók a Microsoft Entra ID-bérlőben. Ez a minta nem működik személyes Microsoft-fiókkal. Ezért ha személyes fiókkal jelentkezett be az Azure Portalra , és nem rendelkezik felhasználói fiókkal a címtárban, most létre kell hoznia egyet.
- Visual Studio Code
- Azure Tools for Visual Studio Code
Ajánlások
- A Spring Framework néhány ismerete
- A Linux/OSX terminál vagy a Windows PowerShell ismerete
- jwt.ms a jogkivonatok vizsgálatához.
- A Fiddler a hálózati tevékenység figyeléséhez és a hibaelhárításhoz.
- Kövesse a Microsoft Entra ID blogot , hogy naprakész maradjon a legújabb fejlesztésekkel kapcsolatban.
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-java-spring-tutorial.git
cd ms-identity-java-spring-tutorial
cd 2-Authorization-I/call-graph
Másik lehetőségként keresse meg az ms-identity-java-spring-tutorial adattárat, majd töltse le .zip fájlként, és bontsa ki a merevlemezre.
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.
Mintaalkalmazások regisztrálása az Azure Active Directory-bérlővel
Ebben a mintában egy projekt szerepel. Ha regisztrálni szeretné az alkalmazást az Azure Portalon, kövesse a manuális konfigurációs lépéseket, vagy használjon PowerShell-szkriptet. A szkript a következő feladatokat hajtja végre:
- Létrehozza a Microsoft Entra ID-alkalmazásokat és a kapcsolódó objektumokat, például jelszavakat, engedélyeket és függőségeket.
- Módosítja a projektkonfigurációs fájlokat.
A PowerShell-szkript futtatásához kövesse az alábbi lépéseket:
Windows rendszeren futtassa a PowerShellt rendszergazdaként, és keresse meg a klónozott könyvtár gyökerét.
Ha még nem ismeri az Azure AD PowerShellt, tekintse meg az alkalmazás-létrehozási szkripteket a forrásadattárban, hogy a környezet megfelelően legyen előkészítve.
A PowerShell végrehajtási szabályzatának beállításához használja a következő parancsot:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
A konfigurációs szkript futtatásához használja az alábbi parancsokat:
cd .\AppCreationScripts\ .\Configure.ps1
Feljegyzés
A szkriptek futtatásának egyéb módjait az alkalmazáslétrehozási szkriptek ismertetik. A szkriptek emellett útmutatást nyújtanak az automatikus alkalmazásregisztrációhoz, konfiguráláshoz és eltávolításhoz, ami segíthet a CI/CD-forgatókönyvekben.
Az alkalmazás konfigurálása (java-spring-webapp-call-graph) az alkalmazásregisztráció használatára
Az alkalmazás konfigurálásához kövesse az alábbi lépéseket:
Feljegyzés
A következő lépésekben ugyanaz, ClientID
mint Application ID
vagy AppId
.
Nyissa meg a projektet az IDE-ben.
Nyissa meg az src\main\resources\application.yml fájlt.
Keresse meg a helyőrzőt
Enter_Your_Tenant_ID_Here
, és cserélje le a meglévő értéket a Microsoft Entra-bérlőazonosítóra.Keresse meg a helyőrzőt
Enter_Your_Client_ID_Here
, és cserélje le a meglévő értéket az alkalmazásazonosítóra vagyclientId
azjava-spring-webapp-call-graph
Azure Portalról másolt alkalmazásra.Keresse meg a helyőrzőt
Enter_Your_Client_Secret_Here
, és cserélje le a meglévő értéket az Azure Portalról másolt példány létrehozásajava-spring-webapp-call-graph
során mentett értékre.
Minta futtatása
Az alábbi szakaszok bemutatják, hogyan helyezheti üzembe a mintát az Azure Spring Appsben.
Előfeltételek
Ha első alkalommal helyez üzembe Azure Spring Apps Enterprise-csomagpéldányt a célelőfizetésben, tekintse meg a Nagyvállalati csomag Követelményei szakaszát az Azure Marketplace-en.
Maven beépülő modul az Azure Spring Appshez. 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:
A Spring projekt előkészítése
A projekt előkészítéséhez kövesse az alábbi lépéseket:
A projekt létrehozásához használja a következő Maven-parancsot :
mvn clean package
Futtassa helyileg a mintaprojektet az alábbi paranccsal:
mvn spring-boot:run
A Maven beépülő moduljának konfigurálása
Futtassa az alábbi parancsot a projekt gyökerében az alkalmazás Azure Spring Appshez készült Maven beépülő modullal való konfigurálásához:
mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Az alábbi lista a parancsok interakcióit ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
- Előfizetés kiválasztása: Válassza ki azt az előfizetési listaszámot, ahol létre szeretné hozni az Azure Spring Apps-példányt, amely alapértelmezés szerint a lista első előfizetése. Ha az alapértelmezett számot szeretné használni, nyomja le az Enter billentyűt.
- Adja meg az Azure Spring Apps nevét: Adja meg a létrehozni kívánt Spring Apps-példány nevét. Ha az alapértelmezett nevet szeretné használni, nyomja le az Enter billentyűt.
- Adja meg az erőforráscsoport nevét: Adja meg annak az erőforráscsoportnak a nevét, amelyben létre szeretné hozni a spring apps-példányt. Ha az alapértelmezett nevet szeretné használni, nyomja le az Enter billentyűt.
- Termékváltozat: Válassza ki a spring apps-példányhoz használni kívánt termékváltozatot. Ha az alapértelmezett számot szeretné használni, nyomja le az Enter billentyűt.
- Adja meg az alkalmazás nevét (bemutató): Adjon meg egy alkalmazásnevet. Ha az alapértelmezett projektösszetevő-azonosítót szeretné használni, nyomja le az Enter billentyűt.
- Futtatókörnyezetek: Válassza ki a spring apps-példányhoz használni kívánt futtatókörnyezetet. Ebben az esetben az alapértelmezett számot kell használnia, ezért nyomja le az Enter billentyűt.
- Nyilvános hozzáférés közzététele ehhez az alkalmazáshoz (boot-for-azure): Nyomja le az y billentyűt.
- Ellenőrizze, hogy menti-e a fenti konfigurációkat: Nyomja le az y billentyűt. Ha az n billentyűt lenyomja, a konfiguráció nem lesz mentve a .pom fájlba.
Az alábbi példa az üzembehelyezési folyamat kimenetét mutatja be:
Summary of properties:
Subscription id : 12345678-1234-1234-1234-123456789101
Resource group name : rg-ms-identity-spring-boot-webapp
Azure Spring Apps name : cluster-ms-identity-spring-boot-webapp
Runtime Java version : Java 11
Region : eastus
Sku : Standard
App name : ms-identity-spring-boot-webapp
Public access : true
Instance count/max replicas : 1
CPU count : 1
Memory size(GB) : 2
Confirm to save all the above configurations (Y/n):
[INFO] Configurations are saved to: /home/user/ms-identity-java-spring-tutorial/1-Authentication/sign-in/pom. xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:57 min
[INFO] Finished at: 2024-02-14T13:50:44Z
[INFO] ------------------------------------------------------------------------
Miután megerősítette a választási lehetőségeket, a beépülő modul hozzáadja a szükséges beépülő modulelemet és -beállításokat a projekt pom.xml fájljához, hogy konfigurálja az alkalmazást az Azure Spring Appsben való futtatásra.
A pom.xml fájl releváns részének az alábbi példához hasonlóan kell kinéznie:
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-spring-apps-maven-plugin</artifactId>
<version>1.19.0</version>
<configuration>
<subscriptionId>12345678-1234-1234-1234-123456789101</subscriptionId>
<resourceGroup>rg-ms-identity-spring-boot-webapp</resourceGroup>
<clusterName>cluster-ms-identity-spring-boot-webapp</clusterName>
<region>eastus</region>
<sku>Standard</sku>
<appName>ms-identity-spring-boot-webapp</appName>
<isPublic>true</isPublic>
<deployment>
<cpu>1</cpu>
<memoryInGB>2</memoryInGB>
<instanceCount>1</instanceCount>
<runtimeVersion>Java 11</runtimeVersion>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Az Azure Spring Apps konfigurációit közvetlenül a pom.xml fájlban 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 Azure Spring Apps-példány Azure-erőforráscsoportja. |
clusterName |
true | Az Azure Spring Apps-fürt neve. Ha olyan előfizetést és erőforráscsoportot használ, amely már üzembe helyezett Egy Azure Spring Apps-példányt, ezt a meglévő fürtöt is használhatja az üzembe helyezéshez. |
appName |
true | Az alkalmazás neve az Azure Spring Appsben. |
region |
false | Az a régió, amelyben az Azure Spring Apps-példányt üzemeltetni szeretné. Az alapértelmezett érték eastus . Érvényes régiókért lásd: Támogatott régiók. |
sku |
false | Az Azure Spring Apps-példány tarifacsomagja. Az alapértelmezett érték , Basic amely csak fejlesztési és tesztelési környezetekhez használható. |
runtime |
false | A futtatókörnyezet konfigurációja. További információ: Konfiguráció részletei. |
deployment |
false | Az üzembehelyezési konfiguráció. További információ: 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 beépülő modul közös konfigurációkat használ. Ezekről a konfigurációkról a Gyakori konfigurációk című témakörben olvashat. Az Azure Spring Appsre vonatkozó konfigurációkat az Azure Spring Apps: Configuration Details című témakörben találja.
Ügyeljen arra, hogy a későbbi használatra félretehesse az értékeket és appName
az clusterName
értékeket.
Az alkalmazás előkészítése az üzembe helyezéshez
Amikor üzembe helyezi az alkalmazást az Azure Spring Appsben, az átirányítási URL-cím megváltozik az Azure Spring Appsben üzembe helyezett alkalmazáspéldány átirányítási URL-címére. A következő lépésekkel módosíthatja ezeket a beállításokat a application.yml fájlban:
Lépjen az alkalmazás src\main\resources\application.yml fájljára, és módosítsa a telepített alkalmazás tartománynevére az
post-logout-redirect-uri
alábbi példában látható módon. Ha például az előző lépésbenms-identity-spring-boot-webapp
az Azure Spring Apps-példányt és az alkalmazás nevét választottacluster-ms-identity-spring-boot-webapp
, akkor most már használniahttps://cluster-ms-identity-spring-boot-webapp-ms-identity-spring-boot-webapp.azuremicroservices.io
kell azpost-logout-redirect-uri
értéket.post-logout-redirect-uri: https://<cluster-name>-<app-name>.azuremicroservices.io
A fájl mentése után használja az alábbi parancsot az alkalmazás újraépítéséhez:
mvn clean package
Fontos
Az alkalmazás application.yml fájlja jelenleg az ügyfél titkos kódjának értékét tartalmazza a client-secret
paraméterben. Ez az érték nem ajánlott ebben a fájlban tartani. Kockázatot is vállalhat, ha véglegesíti azt egy Git-adattárban.
További biztonsági lépésként tárolhatja ezt az értéket az Azure Key Vaultban, és betöltheti a titkos kulcsot a Key Vaultból, hogy elérhetővé tegye az alkalmazásban.
A Microsoft Entra ID alkalmazásregisztráció frissítése
Mivel az átirányítási URI módosul az Azure Spring Appsben üzembe helyezett alkalmazásra, az átirányítási URI-t is módosítania kell a Microsoft Entra ID-alkalmazásregisztrációjában. A módosítás végrehajtásához kövesse az alábbi lépéseket:
Lépjen a Microsoft Identitásplatform fejlesztőknek Alkalmazásregisztrációk lapra.
A keresőmező használatával keresse meg az alkalmazásregisztrációt – például
java-servlet-webapp-authentication
.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 Webes - átirányítási URI-k szakaszban válassza az URI hozzáadása lehetőséget.
Töltse ki az alkalmazás URI-ját, hozzáfűzve
/login/oauth2/code/
példáulhttps://<cluster-name>-<app-name>.azuremicroservices.io/login/oauth2/code/
.Válassza a Mentés lehetőséget.
Az alkalmazás üzembe helyezése
Az alkalmazás üzembe helyezéséhez használja a következő parancsot:
mvn azure-spring-apps:deploy
Az alábbi lista a parancsok közötti interakciót ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
A parancs végrehajtása után a következő naplóüzenetekből láthatja, hogy az üzembe helyezés sikeres volt:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:demo-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:demo-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(demo)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-demo.azuremicroservices.io
Az alkalmazás ellenőrzése
Az üzembe helyezés befejezése után a kimeneti alkalmazás URL-címével érheti el az alkalmazást. Az alábbi lépésekkel ellenőrizheti az alkalmazás naplóit az üzembehelyezési problémák kivizsgálásához:
A kimeneti alkalmazás URL-címét az Üzembe helyezés szakasz Kimenetek lapján érheti el.
Az Azure Spring Apps-példány áttekintési lapján válassza a Naplók lehetőséget az alkalmazás naplóinak ellenőrzéséhez.
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 beolvassa a bejelentkezést az alkalmazás első futtatásakor. Másik lehetőségként válassza ki a jogkivonat részleteit vagy a hívási gráfot. Mivel ez a lap védett, és hitelesítést igényel, a rendszer automatikusan átirányítja a bejelentkezési lapra.
- 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.
- A bejelentkezési folyamat sikeres befejezése után a rendszer átirányítja a kezdőlapra - amely a bejelentkezési állapotot mutatja - vagy a többi lap egyikére, attól függően, hogy melyik gomb aktiválta a bejelentkezési folyamatot.
- Figyelje meg, hogy a környezetfüggő gomb most kijelentkezik , és megjeleníti a felhasználónevét.
- Ha a kezdőlapon van, válassza az Azonosító jogkivonat részletei lehetőséget az azonosító jogkivonat egyes dekódolt jogcímeinek megtekintéséhez.
- A Hívásdiagram lehetőséget választva hívást kezdeményezhet a Microsoft Graph /me végpontjához, és megtekintheti a kapott felhasználói adatokat.
- A kijelentkezéshez használja a sarokban lévő gombot. Az állapotlap az új állapotot tükrözi.
Tudnivalók a kódról
Ez a minta bemutatja, hogyan használhatja a Java-hoz készült Microsoft Entra ID Spring Boot Starter ügyfélkódtárat a felhasználók Microsoft Entra ID-bérlőbe való bejelentkezéséhez és a Microsoft Graph meghívásához szükséges hozzáférési jogkivonat beszerzéséhez. A minta a Spring Oauth2-ügyfél- és Spring Web-rendszerindítókat is használja.
Tartalom
Az alábbi táblázat a mintaprojekt mappájának tartalmát mutatja be:
Fájl/mappa | Leírás |
---|---|
AppCreationScripts/ | Szkriptek a Microsoft Entra ID-alkalmazásregisztrációk automatikus konfigurálásához. |
pom.xml | Alkalmazásfüggőségek. |
src/main/resources/templates/ | Thymeleaf Templates for UI. |
src/main/resources/application.yml | Az alkalmazás és a Microsoft Entra ID rendszerindítási kezdőkönyvtárának konfigurációja. |
src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/ | Ez a könyvtár tartalmazza a fő alkalmazásbeléptetési pontot, vezérlőt és konfigurációs osztályokat. |
.../MsIdentitySpringBootWebappApplication.java | Főosztály. |
.../SampleController.java | Vezérlő végpontleképezésekkel. |
.../SecurityConfig.java | Biztonsági konfiguráció – például, hogy mely útvonalak igényelnek hitelesítést. |
.../Utilities.java | Segédprogramosztály – például szűrőazonosító-jogkivonat jogcímek. |
CHANGELOG.md | A minta módosításainak listája. |
CONTRIBUTING.md | Útmutató a mintához való hozzájáruláshoz. |
LICEN Standard kiadás | A minta licence. |
Azonosító jogkivonat jogcíme
A jogkivonat részleteinek kinyeréséhez az alkalmazás a Spring Security AuthenticationPrincipal
és OidcUser
az objektum használatát használja egy kérésleképezésben, ahogyan az az alábbi példában is látható. Az alkalmazás azonosítójogkivonat-jogcímek használatának részletes részleteiért tekintse meg a mintavezérlőt.
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
//...
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Map<String, Object> claims = principal.getIdToken().getClaims();
}
Bejelentkezési és bejelentkezési hivatkozások
A bejelentkezéshez az alkalmazás kérést küld az Azure Active Directory bejelentkezési végpontra, amelyet a Java-hoz készült Microsoft Entra ID Spring Boot Starter ügyfélkódtár automatikusan konfigurál, ahogyan az alábbi példában látható:
<a class="btn btn-success" href="/oauth2/authorization/azure">Sign In</a>
Kijelentkezés esetén az alkalmazás POST kérést küld a logout
végpontra, ahogyan az a következő példában is látható:
<form action="#" th:action="@{/logout}" method="post">
<input class="btn btn-warning" type="submit" value="Sign Out" />
</form>
Hitelesítéstől függő felhasználói felületi elemek
Az alkalmazás néhány egyszerű logikával rendelkezik a felhasználói felület sablonlapjain a megjelenítendő tartalom meghatározásához annak alapján, hogy a felhasználó hitelesítése megtörtént-e, ahogy az alábbi példában is látható, a Spring Security Thymeleaf-címkékkel:
<div sec:authorize="isAuthenticated()">
this content only shows to authenticated users
</div>
<div sec:authorize="isAnonymous()">
this content only shows to not-authenticated users
</div>
Útvonalak védelme az AADWebSecurityConfigurerAdapterrel
Alapértelmezés szerint az alkalmazás védi az azonosító jogkivonatának részleteit és a Call Graph-oldalakat, hogy csak a bejelentkezett felhasználók férhessenek hozzá. Az alkalmazás ezeket az útvonalakat a app.protect.authenticated
tulajdonságból konfigurálja a application.yml fájlból. Az alkalmazás konkrét követelményeinek konfigurálásához kiterjesztheti AADWebSecurityConfigurationAdapter
az egyik osztályát. Például tekintse meg az alkalmazás SecurityConfig osztályát, amely az alábbi kódban látható:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends AADWebSecurityConfigurerAdapter{
@Value( "${app.protect.authenticated}" )
private String[] protectedRoutes;
@Override
public void configure(HttpSecurity http) throws Exception {
// use required configuration form AADWebSecurityAdapter.configure:
super.configure(http);
// add custom configuration:
http.authorizeRequests()
.antMatchers(protectedRoutes).authenticated() // limit these pages to authenticated users (default: /token_details, /call_graph)
.antMatchers("/**").permitAll(); // allow all other routes.
}
}
Gráf hívása
Amikor a felhasználó erre /call_graph
lép, az alkalmazás létrehoz egy példányt a GraphServiceClient
használatból, Oauth2AuthorizedClient
vagy graphAuthorizedClient
amelyet a Microsoft Entra ID rendszerindító előkészített. Az alkalmazás meghívja a GraphServiceClient
/me
végpontot, és megjeleníti az aktuális bejelentkezett felhasználó adatait. GraphServiceClient
a Microsoft Graph SDK for Java v3-ból származik.
A Oauth2AuthorizedClient
megfelelő hatókörökkel kell előkészíteni. Tekintse meg a application.yml fájlt és a következő Hatókörök szakaszt . A Oauth2AuthorizedClient
hozzáférési jogkivonat felszínre hozására és a Authorization
kérések fejlécében GraphServiceClient
való elhelyezésére szolgál, ahogyan az a következő példában is látható:
//see SampleController.java
@GetMapping(path = "/call_graph")
public String callGraph(@RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graphAuthorizedClient) {
// See the Utilities.graphUserProperties() method for the full example of the following operation:
GraphServiceClient graphServiceClient = Utilities.getGraphServiceClient(graphAuthorizedClient);
User user = graphServiceClient.me().buildRequest().get();
return user.displayName;
}
A application.yml fájl alábbi példája a kért hatóköröket mutatja be:
# see application.yml file
authorization-clients:
graph:
# Specifies the Microsoft Graph scopes that your app needs access to:
scopes: https://graph.microsoft.com/User.Read
Hatókörök
A hatókörök közlik a Microsoft Entra-azonosítóval az alkalmazás által kért hozzáférési szintet. Az alkalmazás által kért Microsoft Graph-hatókörökről lásd : application.yml.
Alapértelmezés szerint az alkalmazás a hatókörök értékét a következőre https://graph.microsoft.com/User.Read
állítja be: . A User.Read
hatókör az aktuális bejelentkezett felhasználó adatainak a /me végpontról való elérésére szolgál. A /me végpontra irányuló érvényes kéréseknek tartalmazniuk kell a hatókörtUser.Read
.
Amikor egy felhasználó bejelentkezik, a Microsoft Entra ID egy hozzájárulási párbeszédet jelenít meg a felhasználónak az alkalmazás által kért hatókörök alapján. Ha a felhasználó egy vagy több hatókörhöz járul hozzá, és jogkivonatot szerez be, a hatókörök hozzájárulásával a rendszer az eredményül kapott hozzáférési jogkivonatba kódolja a hatóköröket.
Ebben az alkalmazásban a graphAuthorizedClient
hozzáférési jogkivonat jelzi, hogy a felhasználó mely hatókörökhöz járult hozzá. Az alkalmazás ezzel a jogkivonattal hozza létre a GraphServiceClient
Graph-kérelmeket kezelő példányt.
A használatával GraphServiceClient.me().buildRequest().get()
a rendszer létrehoz egy kérést, és a rendszer a következőre küldi a kérést https://graph.microsoft.com/v1.0/me
: . A hozzáférési jogkivonat a Authorization
kérés fejlécébe kerül.
További információ
- Microsoft Identitásplatform (Azure Active Directory fejlesztőknek)
- A Microsoft Authentication Library (MSAL) áttekintése
- Gyorsútmutató: Alkalmazás regisztrálása a Microsoft Identitásplatformon
- Rövid útmutató: Ügyfélalkalmazás konfigurálása webes API-k eléréséhez
- A Microsoft Entra ID-alkalmazás hozzájárulási élményének ismertetése
- Felhasználói és rendszergazdai hozzájárulás ismertetése
- Alkalmazás- és szolgáltatásnév-objektumok az Azure Active Directoryban
- Nemzeti felhők
- MSAL-kódminták
- Azure Active Directory Spring Boot Starter ügyfélkódtár Java-hoz
- Microsoft Authentication Library for Java (MSAL4J)
- MSAL4J Wiki
- Azonosító jogkivonatok
- Hozzáférési jogkivonatok a Microsoft Identitásplatform
További információ az OAuth 2.0 protokollok működéséről ebben a forgatókönyvben és más forgatókönyvekben: Hitelesítési forgatókönyvek a Microsoft Entra ID-hoz.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: