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:
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}
.
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
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.