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

Already configured 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

Shows how the sample app generated by this quickstart works

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.