Rychlý start: Získání tokenu a volání rozhraní Microsoft Graph API z desktopové aplikace windows
Vítejte! Pravděpodobně to není stránka, kterou jste očekávali. Zatímco pracujeme na opravě, měl by vás tento odkaz dostat na správný článek:
Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu v desktopové aplikaci pro Windows
Omlouváme se za nepříjemnosti a vážíme si vaší trpělivosti, zatímco pracujeme na vyřešení tohoto problému.
V tomto rychlém startu si stáhnete a spustíte ukázku kódu, která ukazuje, jak se aplikace WPF (Windows Presentation Foundation) může přihlásit uživatele a získat přístupový token pro volání rozhraní Microsoft Graph API.
Podívejte se, jak ukázka funguje pro ilustraci.
Krok 1: Nakonfigurujte si aplikaci na portálu Azure Portal
Aby ukázka kódu v tomto rychlém startu fungovala, přidejte identifikátor URIhttps://login.microsoftonline.com/common/oauth2/nativeclient
přesměrování a ms-appx-web://microsoft.aad.brokerplugin/{client_id}
.
Vaše aplikace je nakonfigurovaná s těmito atributy.
Krok 2: Stažení projektu sady Visual Studio
Spusťte projekt pomocí sady Visual Studio 2019.
Tip
Pokud se chcete vyhnout chybám způsobeným omezením délky cesty ve Windows, doporučujeme extrahovat archiv nebo klonovat úložiště do adresáře blízko kořenového adresáře jednotky.
Krok 3: Aplikace je nakonfigurovaná a připravená ke spuštění
Nakonfigurovali jsme váš projekt s hodnotami vlastností vaší aplikace a je připravený ke spuštění.
Poznámka:
Enter_the_Supported_Account_Info_Here
Více informací
Jak ukázka funguje
MSAL.NET
MSAL (Microsoft.Identity.Client) je knihovna, která slouží k přihlášení uživatelů a vyžádání tokenů používaných pro přístup k rozhraní API chráněnému platformou Microsoft Identity Platform. MSAL můžete nainstalovat spuštěním následujícího příkazu v Konzole Správce balíčků v sadě Visual Studio:
Install-Package Microsoft.Identity.Client -IncludePrerelease
Inicializace knihovny MSAL
Odkaz na knihovnu MSAL můžete přidat tak, že přidáte následující kód:
using Microsoft.Identity.Client;
Potom inicializujte knihovnu MSAL pomocí následujícího kódu:
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.Build();
Kde: | Popis |
---|---|
ClientId |
Je ID aplikace (klienta), kterou jste zaregistrovali na webu Azure Portal. Tuto hodnotu najdete na stránce Přehled aplikace na webu Azure Portal. |
Žádosti o tokeny
Knihovna MSAL používá k získání tokenů dvě metody: AcquireTokenInteractive
a AcquireTokenSilent
.
Interaktivní získání tokenu uživatele
Některé situace vyžadují, aby uživatelé komunikovali s platformou Microsoft Identity Platform prostřednictvím automaticky otevíraných oken, aby ověřili své přihlašovací údaje nebo udělili souhlas. Mezi některé příklady patří:
- Při prvním přihlášení k aplikaci
- Když je potřeba, aby uživatelé znovu zadali svoje přihlašovací údaje, protože vypršela platnost hesla
- Když vaše aplikace žádá o přístup k prostředku, ke kterému musí dát uživatel souhlas
- Když je nutné dvoufaktorové ověřování
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
.ExecuteAsync();
Kde: | Popis |
---|---|
_scopes |
Obsahuje požadované obory, například { "user.read" } pro Microsoft Graph nebo { "api://<Application ID>/access_as_user" } pro vlastní webová rozhraní API. |
Získání tokenu uživatele bez upozornění
Nechcete vyžadovat, aby uživatel ověřoval přihlašovací údaje pokaždé, když potřebuje přístup k prostředku. Ve většině případů budete chtít tokeny pořizovat a obnovovat bez nutnosti zásahu uživatele. Po počáteční metodě AcquireTokenInteractive
můžete použít metodu AcquireTokenSilent
a získat tokeny pro přístup k chráněným prostředkům:
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
Kde: | Popis |
---|---|
scopes |
Obsahuje požadované obory, například { "user.read" } pro Microsoft Graph nebo { "api://<Application ID>/access_as_user" } pro vlastní webová rozhraní API. |
firstAccount |
Určuje prvního uživatele v mezipaměti (MSAL podporuje více uživatelů v jediné aplikaci). |
Nápověda a podpora
Pokud potřebujete pomoc, chcete nahlásit problém nebo se chcete dozvědět o možnostech podpory, přečtěte si nápovědu a podporu pro vývojáře.
Další kroky
Vyzkoušejte kurz pro plochu Windows, kde najdete podrobný návod k vytváření aplikací a nových funkcí, včetně úplného popisu tohoto rychlého startu.