Sdílet prostřednictvím


Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu v desktopové aplikaci pro Windows

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. Desktopová aplikace, kterou vytvoříte, používá tok autorizačního kódu spárovaný se standardem PKCE (Proof Key for Code Exchange).

Podívejte se, jak ukázka funguje pro ilustraci.

Požadavky

Registrace a stažení aplikace pro rychlý start

Aplikaci pro rychlý start můžete spustit dvěma způsoby:

Možnost 1: Registrace a automatická konfigurace aplikace a následné stažení vzorového kódu

  1. Přejděte do Centra pro správu Microsoft Entra – Registrace aplikací zahájit prostředí.
  2. Zadejte název vaší aplikace a Vyberte Zaregistrovat.
  3. Postupujte podle pokynů ke stažení a automatické konfiguraci nové aplikace jedním kliknutím.

Možnost 2: Registrace a ruční konfigurace aplikace a vzorového kódu

Krok 1: Zaregistrujte si aplikaci

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

Pokud chcete zaregistrovat aplikaci a ručně přidat informace o registraci aplikace ke svému řešení, postupujte následovně:

  1. Přihlaste se do Centra pro správu Microsoft Entra.
  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
  3. Přejděte na Aplikace> identit>Registrace aplikací vyberte Nová registrace.
  4. Zadejte název aplikace, například Win-App-calling-MsGraph. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.
  5. V části Podporované typy účtu vyberte Účty v libovolném organizačním adresáři a osobní účty Microsoft (například Skype, Xbox, Outlook.com).
  6. Výběrem možnosti Registrovat aplikaci vytvořte.
  7. V části Spravovat vyberte Ověřování.
  8. Vyberte Přidat platformu>Mobile a desktopové aplikace.
  9. V části Identifikátory URI pro přesměrování vyberte a v identifikátorech URI pro vlastní přesměrování přidejte ms-appx-web://microsoft.aad.brokerplugin/{client_id}https://login.microsoftonline.com/common/oauth2/nativeclient{client_id} ID aplikace (klienta) vaší aplikace (stejný identifikátor GUID, který se zobrazí v zaškrtávacím msal{client_id}://auth poli).
  10. Vyberte Konfigurovat.

Krok 2: Stažení projektu

Stažení ukázkové aplikace WPF

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: Konfigurace projektu

  1. Extrahujte soubor zip do místní složky blízko ke kořenovému adresáři disku, například C:\Azure-Samples.

  2. Otevřete projekt v sadě Visual Studio.

  3. Upravte soubor App.Xaml.cs a nahraďte hodnoty polí ClientId a Tenant následujícím kódem:

    private static string ClientId = "Enter_the_Application_Id_here";
    private static string Tenant = "Enter_the_Tenant_Info_Here";
    

Kde:

  • Hodnota Enter_the_Application_Id_here je ID aplikace (klienta), kterou jste zaregistrovali.

    Pokud chcete zjistit hodnotu ID aplikace (klienta), přejděte na stránku Přehled aplikace v Centru pro správu Microsoft Entra.

  • Hodnota Enter_the_Tenant_Info_Here je nastavená na jednu z následujících možností:

    • Pokud vaše aplikace podporuje režim Účty jen v tomto organizačním adresáři, nahraďte tuto hodnotu za ID tenanta nebo Název tenanta (například contoso.microsoft.com).

    • Pokud vaše aplikace podporuje režim Účty v libovolném organizačním adresáři, nahraďte tuto hodnotu za organizations.

    • Pokud vaše aplikace podporuje účty v libovolném organizačním adresáři a osobních účtech Microsoft, nahraďte tuto hodnotu commonhodnotou .

      Pokud chcete najít hodnoty ID adresáře (tenanta) a podporovaných typů účtů, přejděte na stránku Přehled aplikace v Centru pro správu Microsoft Entra.

Krok 4: Spuštění aplikace

Pokud chcete sestavit a spustit ukázkovou aplikaci v sadě Visual Studio, vyberte nabídku>Ladění spustit ladění nebo stiskněte klávesu F5. Zobrazí se mainWindow vaší aplikace.

Když se zobrazí hlavní okno aplikace, vyberte tlačítko Volat rozhraní Microsoft Graph API. Zobrazí se výzva k přihlášení pomocí účtu Microsoft Entra (pracovního nebo školního účtu) nebo účtu Microsoft (live.com, outlook.com).

Pokud aplikaci spouštíte poprvé, zobrazí se výzva k udělení souhlasu, abyste aplikaci povolili přístup k vašemu profilu uživatele a přihlásili se. Po vyjádření souhlasu s požadovanými oprávněními se aplikace zobrazí, že jste se úspěšně přihlásili. Měli byste vidět některé základní informace o tokenu a uživatelská data získaná z volání rozhraní Microsoft Graph API.

Více informací

Jak ukázka funguje

Diagram showing 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) aplikace zaregistrované v Centru pro správu Microsoft Entra. Tuto hodnotu najdete na stránce Přehled aplikace v Centru pro správu Microsoft Entra.

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