Rövid útmutató: Jelentkezzen be a felhasználókba, és hívja meg a Microsoft Graphot egy asztali Windows-alkalmazásban
Ebben a rövid útmutatóban letölthet és futtathat egy kódmintát, amely bemutatja, hogyan jelentkezhet be egy Windows megjelenítési alaprendszer (WPF) alkalmazás a felhasználókba, és hogyan kérhet le egy hozzáférési jogkivonatot a Microsoft Graph API meghívásához. A buildelt asztali alkalmazás a Proof Key for Code Exchange (PKCE) szabványhoz párosított engedélyezési kódfolyamatot használja.
Tekintse meg , hogyan működik a minta egy illusztrációhoz.
Előfeltételek
- Visual Studio telepített Univerzális Windows-platform fejlesztési számítási feladattal
A rövid útmutató mintaalkalmazásának regisztrálása és letöltése
A rövid útmutató mintaalkalmazását kétféleképpen indíthatja el:
- [Expressz] 1. lehetőség: Az alkalmazás regisztrálása és automatikus konfigurálása, majd a kódminta letöltése
- [Kézi] 2. lehetőség: Az alkalmazás és a kódminta regisztrálása és kézi konfigurálása
1. lehetőség: Az alkalmazás regisztrálása és automatikus konfigurálása, majd a kódminta letöltése
- Nyissa meg a Microsoft Entra Felügyeleti központot – Alkalmazásregisztrációk quickstart élményt.
- Adja meg az alkalmazás nevét, majd kattintson a Regisztráció elemre.
- Kövesse az új alkalmazás egy kattintással való letöltésére és automatikus konfigurálására vonatkozó utasításokat.
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
Tipp.
A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.
Az alkalmazás regisztrálásához és az alkalmazás regisztrációs információinak a megoldáshoz való kézi hozzáadásához kövesse az alábbi lépéseket:
- Sign in to the Microsoft Entra admin center.
- 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ások>> Alkalmazásregisztrációk lehetőséget, és válassza az Új regisztráció lehetőséget.
- Adja meg például
Win-App-calling-MsGraph
az alkalmazás nevét. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja. - A Támogatott fióktípusok szakaszban jelölje be a Tetszőleges szervezeti címtárban található fiókok és a Személyes Microsoft-fiókok (például Skype, Xbox, Outlook.com) beállítást.
- Válassza a Regisztráció elemet az alkalmazás létrehozásához.
- A Kezelés területen válassza a Hitelesítés lehetőséget.
- Válassza a Platform>mobil- és asztali alkalmazások hozzáadása lehetőséget.
- Az Átirányítási URI-k szakaszban válassza ki és az
https://login.microsoftonline.com/common/oauth2/nativeclient
Egyéni átirányítási URI-kbanadja hozzáms-appx-web://microsoft.aad.brokerplugin/{client_id}
{client_id}
az alkalmazás (ügyfél) azonosítóját (ugyanaz a GUID, amely amsal{client_id}://auth
jelölőnégyzetben megjelenik). - Válassza a Konfigurálás lehetőséget.
2. lépés: A projekt letöltése
A WPF mintaalkalmazás letöltése
Tipp.
A Windows elérési úthossz-korlátozásai által okozott hibák elkerülése érdekében javasoljuk, hogy bontsa ki az archívumot, vagy klónozza az adattárat a meghajtó gyökeréhez közeli könyvtárba.
3. lépés: A projekt konfigurálása
Csomagolja ki a zip-fájlt egy helyi mappába a lemez gyökerének közelében (például: C:\Azure-Samples).
Nyissa meg a projektet a Visual Studióban.
Módosítsa az App.Xaml.cs fájlt, és cserélje a
ClientId
ésTenant
mezők értékét a következő kódra:private static string ClientId = "Enter_the_Application_Id_here"; private static string Tenant = "Enter_the_Tenant_Info_Here";
Ahol:
Enter_the_Application_Id_here
– ez a regisztrált alkalmazáshoz tartozó Alkalmazás (ügyfél) azonosítója érték.Az alkalmazás (ügyfél) azonosítójának értékének megkereséséhez nyissa meg az alkalmazás Áttekintés lapját a Microsoft Entra Felügyeleti központban.
Enter_the_Tenant_Info_Here
– az alábbi lehetőségek egyike lesz:Ha az alkalmazás az adott szervezeti címtárban lévő fiókokat támogatja, ezt az értéket a Bérlőazonosítóra vagy a Bérlő nevére cserélje le (például contoso.microsoft.com)
Ha az alkalmazás bármely szervezeti címtárban lévő fiókot támogat, ezt az értéket az
organizations
értékre cserélje leHa az alkalmazás bármely szervezeti címtárban és személyes Microsoft-fiókban támogatja a fiókokat, cserélje le ezt az értéket a következőre
common
: .A címtár (bérlő) azonosítójának és a támogatott fióktípusok értékének megkereséséhez nyissa meg az alkalmazás Áttekintés lapját a Microsoft Entra Felügyeleti központban.
4. lépés: Az alkalmazás futtatása
Ha a Visual Studióban szeretné létrehozni és futtatni a mintaalkalmazást, válassza a Hibakeresés menü Hibakeresés indítása parancsát>, vagy nyomja le az F5 billentyűt. Megjelenik az alkalmazás MainWindow-fájlja.
Amikor megjelenik az alkalmazás főablaka, válassza a Microsoft Graph API meghívása gombot. A rendszer kérni fogja, hogy jelentkezzen be Microsoft Entra-fiókjával (munkahelyi vagy iskolai fiókjával) vagy Microsoft-fiókjával (live.com, outlook.com) hitelesítő adataival.
Ha első alkalommal futtatja az alkalmazást, a rendszer kérni fogja, hogy adjon hozzájárulást ahhoz, hogy az alkalmazás hozzáférhessen a felhasználói profiljához, és bejelentkezhessen. A kért engedélyek jóváhagyása után az alkalmazás megjeleníti, hogy sikeresen bejelentkezett. Látnia kell néhány alapvető jogkivonat-információt és felhasználói adatot a Microsoft Graph API hívásából.
További információ
A minta működése
MSAL.NET
Az MSAL (Microsoft.Identity.Client) a felhasználók bejelentkezésére és a Microsoft Identitásplatform által védett API eléréséhez használt jogkivonatok lekérésére szolgáló kódtár. Az MSAL telepítéséhez futtassa a következő parancsot a Visual Studio Package Manager konzolján:
Install-Package Microsoft.Identity.Client -IncludePrerelease
Az MSAL inicializálása
Az MSAL-re mutató hivatkozás hozzáadásához adja hozzá az alábbi kódot:
using Microsoft.Identity.Client;
Ezután inicializálja az MSAL-t az alábbi kóddal:
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
Ahol: | Leírás |
---|---|
ClientId |
A Microsoft Entra felügyeleti központban regisztrált alkalmazás (ügyfél) azonosítója. Ezt az értéket az alkalmazás Áttekintés lapján találja a Microsoft Entra Felügyeleti központban. |
Jogkivonatok lekérése
Az MSAL a következő két metódust használja a jogkivonatok beszerzéséhez: AcquireTokenInteractive
és AcquireTokenSilent
.
Felhasználói jogkivonat interaktív lekérése
Bizonyos helyzetekben a felhasználókat előugró ablakban kell arra kényszeríteni, hogy a Microsoft Identitásplatform érvényesítsék a hitelesítő adataikat, vagy hozzájárulást adjanak. Néhány példa:
- Az első alkalommal, amikor felhasználók bejelentkeznek az alkalmazásba
- Ha a felhasználóknak újból meg kell adniuk a hitelesítési adataikat, mert lejárt a jelszó
- Amikor az alkalmazás olyan erőforráshoz kér hozzáférést, amelyhez szükséges a felhasználó hozzájárulása
- Ha kétfaktoros hitelesítésre van szükség
authResult = await app.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
Ahol: | Leírás |
---|---|
_scopes |
A kért hatóköröket tartalmazza, például { "user.read" } a Microsoft Graphhoz vagy { "api://<Application ID>/access_as_user" } az egyéni webes API-khoz. |
Felhasználói jogkivonat csendes beszerzése
Nem ajánlott minden egyes alkalommal megkövetelni a felhasználóktól a hitelesítő adatok érvényesítését, amikor hozzá kell férniük egy erőforráshoz. Általában szerencsésebb, ha a jogkivonatok beszerzéséhez és megújításához nincs szükség felhasználói beavatkozásra. Kezdetben használja az AcquireTokenInteractive
metódust, majd a védett erőforrásokhoz való hozzáféréshez szükséges jogkivonatok beszerzéséhez az AcquireTokenSilent
metódust használhatja:
var accounts = await app.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await app.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
Ahol: | Leírás |
---|---|
scopes |
A kért hatóköröket tartalmazza, például { "user.read" } a Microsoft Graphhoz vagy { "api://<Application ID>/access_as_user" } az egyéni webes API-khoz. |
firstAccount |
A gyorsítótár első felhasználóját határozza meg (az MSAL több felhasználót támogat egy alkalmazásban). |
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.
További lépések
Próbálja ki az asztali Windowshoz készült oktatóanyagot, amelyben teljes körű, részletes útmutatót talál az alkalmazások és új szolgáltatások létrehozásához, valamint megtalálja ennek a rövid útmutatónak a teljes magyarázatát is.