Rövid útmutató: Jogkivonat beszerzése és a Microsoft Graph API meghívása asztali Windows-alkalmazásból

Üdvözöljük! Valószínűleg nem ez az a lap, amire számított. Amíg dolgozunk a javításon, ez a hivatkozás a megfelelő cikkre viszi:

Rövid útmutató: Jelentkezzen be a felhasználókba, és hívja meg a Microsoft Graphot egy asztali Windows-alkalmazásban

Elnézést kérünk a kellemetlenségért, és köszönjük türelmét, amíg dolgozunk a probléma megoldásán.

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.

Tekintse meg , hogyan működik a minta egy illusztrációhoz.

1. lépés: Az alkalmazás konfigurálása az Azure Portalon

A rövid útmutatóban szereplő kódminta működéséhez adja hozzá a következő átirányítási https://login.microsoftonline.com/common/oauth2/nativeclient URI-t: és ms-appx-web://microsoft.aad.brokerplugin/{client_id}.

Already configured Az alkalmazás konfigurálva van ezekkel az attribútumokkal.

2. lépés: A Visual Studio-projekt letöltése

Futtassa a projektet a Visual Studio 2019 használatával.

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: Az alkalmazás konfigurálva van, és készen áll a futtatásra

Konfiguráltuk a projektet az alkalmazás tulajdonságainak értékeivel, és készen áll a futtatásra.

Feljegyzés

Enter_the_Supported_Account_Info_Here

További információ

A minta működése

Shows 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 Az Azure Portalon regisztrált alkalmazás alkalmazásazonosítója (ügyfél-azonosítója). Ezt az értéket az alkalmazás Áttekintés oldalán találja az Azure Portalon.

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.PublicClientApp.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.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.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.

Következő 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.