Sdílet prostřednictvím


Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu v aplikaci Univerzální platforma Windows

V tomto rychlém startu stáhnete a spustíte ukázku kódu, která předvádí, jak se aplikace Univerzální platforma Windows (UPW) 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.

Požadavky

Poznámka:

MSAL.NET verze 4.61.0 a vyšší neposkytují podporu pro Univerzální platforma Windows (UPW), Xamarin Android a Xamarin iOS. Doporučujeme migrovat aplikace pro UPW do moderních architektur, jako je WINUI. Přečtěte si další informace o vyřazení v oznámení nadcházejícího vyřazení MSAL.NET pro Xamarin a UPW.

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 AMicrosoft Entra – Registrace aplikací prostředí pro rychlý start.
  2. Zadejte název vaší aplikace a Vyberte Zaregistrovat.
  3. Podle pokynů stáhněte a nakonfigurujte novou aplikaci automaticky.

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 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 UWP-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. Vyberte Zaregistrovat , abyste aplikaci vytvořili, a potom poznamenejte ID aplikace (klienta) pro použití v pozdějším kroku.
  7. V části Spravovat vyberte Ověřování.
  8. Vyberte Přidat platformu>Mobile a desktopové aplikace.
  9. V části Identifikátory URI přesměrování vyberte https://login.microsoftonline.com/common/oauth2/nativeclient.
  10. Vyberte Konfigurovat.

Krok 2: Stažení projektu

Stažení ukázkové aplikace pro UPW

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 .zip archiv do místní složky blízko kořenového adresáře jednotky. Například do C:\Azure-Samples.

  2. Otevřete projekt v sadě Visual Studio. Pokud se zobrazí výzva, nainstalujte Univerzální platforma Windows vývojovou úlohu a všechny jednotlivé součásti sady SDK.

  3. V MainPage.Xaml.cs změňte hodnotu ClientId proměnné na ID aplikace (klienta) aplikace, kterou jste zaregistrovali dříve.

    private const string ClientId = "Enter_the_Application_Id_here";
    

    ID aplikace (klienta) najdete v podokně Přehled aplikace v Centru pro správu Microsoft Entra (Aplikace> identit>Registrace aplikací>{Registrace aplikace}).

  4. Vytvořte a vyberte nový testovací certifikát podepsaný svým držitelem pro balíček:

    1. V Průzkumník řešení poklikejte na soubor Package.appxmanifest.
    2. Vybrat balíček>zvolit certifikát...>Vytvořit....
    3. Zadejte heslo a pak vyberte OK. Vytvoří se certifikát s názvem Native_UWP_V2_TemporaryKey.pfx .
    4. Kliknutím na tlačítko OK zavřete dialogové okno Zvolit certifikát a ověřte, že se v Průzkumník řešení zobrazí Native_UWP_V2_TemporaryKey.pfx.
    5. V Průzkumník řešení klikněte pravým tlačítkem na projekt Native_UWP_V2 a vyberte Vlastnosti.
    6. Vyberte Podepisování a pak vyberte soubor .pfx, který jste vytvořili v rozevíracím seznamu Zvolit soubor klíče silného názvu.

Krok 4: Spuštění aplikace

Spuštění ukázkové aplikace na místním počítači:

  1. Na panelu nástrojů sady Visual Studio zvolte správnou platformu (pravděpodobně x64 nebo x86, nikoli ARM). Cílové zařízení by se mělo změnit ze zařízení na místní počítač.

  2. Vyberte Ladit>Spustit bez ladění.

    Pokud se zobrazí výzva k tomu, abyste to udělali, možná budete muset nejprve povolit vývojářský režim a pak spustit aplikaci znovu bez ladění .

Když se zobrazí okno aplikace, můžete vybrat tlačítko Volat rozhraní Microsoft Graph API , zadat přihlašovací údaje a udělit souhlas s oprávněními požadovanými aplikací. V případě úspěchu aplikace zobrazí některé informace o tokenu a data získaná z volání rozhraní Microsoft Graph API.

Jak ukázka funguje

Diagram znázorňující, jak funguje ukázková aplikace generovaná v tomto rychlém startu

MSAL.NET

MSAL (Microsoft.Identity.Client) je knihovna, která slouží k přihlášení uživatelů a vyžádání tokenů zabezpečení. Tokeny zabezpečení se používají 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

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;

MsAL se pak inicializuje pomocí následujícího kódu:

public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                                                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                                                    .Build();

Hodnota ClientId je ID aplikace (klienta), kterou jste zaregistrovali 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

MSAL má dvě metody pro získání tokenů v aplikaci pro UPW: 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ří:

  • První přihlášení uživatelů 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 požaduje přístup k prostředku, musí uživatel souhlasit s
  • Když je nutné dvoufaktorové ověřování
authResult = await PublicClientApp.AcquireTokenInteractive(scopes)
                      .ExecuteAsync();

Parametr 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í

Použijte metodu AcquireTokenSilent k získání tokenů pro přístup k chráněným prostředkům po počáteční AcquireTokenInteractive metodě. Nechcete vyžadovat, aby uživatel ověřil přihlašovací údaje pokaždé, když potřebuje přístup k prostředku. Ve většině případů chcete získat tokeny a prodlužovat ho bez jakékoli interakce uživatele

var accounts = await PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
  • 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í uživatelský účet v mezipaměti (MSAL podporuje více uživatelů v jedné 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.