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

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:

1. lehetőség: Az alkalmazás regisztrálása és automatikus konfigurálása, majd a kódminta letöltése

  1. Nyissa meg a Microsoft Entra Felügyeleti központot – Alkalmazásregisztrációk quickstart élményt.
  2. Adja meg az alkalmazás nevét, majd kattintson a Regisztráció elemre.
  3. 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:

  1. Sign in to the Microsoft Entra admin center.
  2. 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.
  3. Keresse meg az Identitásalkalmazások>> Alkalmazásregisztrációk lehetőséget, és válassza az Új regisztráció lehetőséget.
  4. Adja meg például Win-App-calling-MsGraphaz 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.
  5. 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.
  6. Válassza a Regisztráció elemet az alkalmazás létrehozásához.
  7. A Kezelés területen válassza a Hitelesítés lehetőséget.
  8. Válassza a Platform>mobil- és asztali alkalmazások hozzáadása lehetőséget.
  9. 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 a msal{client_id}://auth jelölőnégyzetben megjelenik).
  10. 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

  1. Csomagolja ki a zip-fájlt egy helyi mappába a lemez gyökerének közelében (például: C:\Azure-Samples).

  2. Nyissa meg a projektet a Visual Studióban.

  3. Módosítsa az App.Xaml.cs fájlt, és cserélje a ClientId és Tenant 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 le

    • Ha 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

Diagram showing how the sample app generated by this quickstart works.

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.