Gyakorlat – Hozzáférés engedélyezése a Microsoft Graph API-hoz az MSAL használatával
Ebben a gyakorlatban engedélyekkel konfigurálja az alkalmazást, és MSAL használatával fér hozzá a felhasználói profil adataihoz a Microsoft Graph (MS Graph) API-ból.
Microsoft Graph-engedélyek hozzáadása az alkalmazásregisztrációhoz
A Microsoft Entra ID által védett webszolgáltatások olyan engedélyeket határoznak meg, amelyek hozzáférést biztosítanak a szolgáltatás által közzétett API-funkciókhoz és adatokhoz. Mielőtt egy alkalmazás hozzáférhet az adatokhoz, vagy eljárhat egy felhasználó nevében, kérnie kell ezeket az engedélyeket, hogy a felhasználók jóváhagyják őket. Ezeket az API-engedélyeket az Azure Portalon rendelheti hozzá az alkalmazásregisztrációhoz. Az alábbiakban bemutatjuk a Microsoft Graph API-engedélyek alkalmazáshoz való hozzárendelésének lépéseit.
A Alkalmazásregisztrációk képernyőn válassza ki az API-engedélyeket az alkalmazás által igényelt API-khoz való hozzáférés hozzáadásához.
Válassza az Engedély hozzáadása lehetőséget.
Győződjön meg arról, hogy a Microsoft API-k lap ki van jelölve.
A Gyakran használt Microsoft API-k szakaszban válassza a Microsoft Graph, majd a Delegált engedélyek lehetőséget.
A Delegált engedélyek szakaszban görgessen le, és válassza a User.Read lehetőséget a listában. Ez a konkrét engedély a bejelentkezett felhasználó adatainak a végpontról
https://graph.microsoft.com/v1.0/mevaló elérésére szolgál.Jelölje be az Engedélyek hozzáadása lehetőséget.
Az alkalmazás futtatása
Kipróbálhatja a Graph API-hívást azon az alkalmazáson, amelyet az előző gyakorlatból futtatott.
Nyissa meg a böngészőt, és keresse meg a következőt
http://localhost:8080/msal4j-servlet-graph/: . Ha még nem jelentkezett be, a rendszer átirányítja a Microsoft Entra-azonosítóval való bejelentkezéshez. A sikeres bejelentkezéskor egy lapnak kell megjelennie az alábbi képen látható módon.
A Hívásdiagram lehetőséget választva hívást kezdeményezhet a Microsoft Graph végpontjára
/me, és megtekintheti a megjelenő felhasználói adatokat.
A Microsoft Graph-hozzáférés kódjának áttekintése
A Microsoft Graph API eléréséhez szükséges kódot a servlet osztályban CallGraphServlet.java találja a mintaprojekt msal4j/callgraphwebapp/ könyvtárában. Meghatározza az /call_graph alkalmazás végpontját, amely engedélyezett hívásokat indít a Microsoft Graph API végpontjára https://graph.microsoft.com/v1.0/me a bejelentkezett felhasználó profiladatainak lekéréséhez. Az alábbiakban további részleteket talál a Graph hozzáférési kódról.
A ./src/main/resources/authentication.properties fájlban az érték
aad.scopesa User.Read hatókörre van állítva.A hatókörök közlik a Microsoft Entra-azonosítóval az alkalmazás által kért hozzáférési szintet, és megfeleltetik az alkalmazásregisztráció engedélyeit. A kért hatókörök alapján a Microsoft Entra ID hozzájárulási párbeszédet mutat be a felhasználónak bejelentkezéskor. Ha a felhasználó egy vagy több hatókörhöz járul hozzá, a rendszer a hitelesítési válaszban visszaadott eredménybe
access_tokenkódolja őket.Amikor a felhasználó megnyitja
/call_graph, az alkalmazás létrehozza az IGraphServiceClient (Microsoft Graph SDK Java) egy példányát, amely a bejelentkezett felhasználó hozzáférési jogkivonata mentén halad át. Az innen származó Graph-ügyfél a hozzáférési jogkivonatot a kérések engedélyezési fejléceiben helyezi el. Az alkalmazás ezután felkéri a Graph-ügyfelet, hogy hívja meg a Microsoft Graph végpontját/me, hogy adja meg az aktuálisan bejelentkezett felhasználó adatait.A következő kód szükséges ahhoz, hogy az alkalmazásfejlesztők a végpont eléréséhez
/meírjanak, feltéve, hogy már rendelkeznek érvényes hozzáférési jogkivonattal a Graph Service-hez aUser.Readhatókörrel.//CallGraphServlet.java User user = GraphHelper.getGraphClient(contextAdapter).me().buildRequest().get();