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
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Visual Studio
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:
- [Expresní] Možnost 1: Registrace a automatická konfigurace aplikace a následné stažení vzorového kódu
- [Ruční] Možnost 2: Registrace a ruční konfigurace aplikace a vzorového kódu
Možnost 1: Registrace a automatická konfigurace aplikace a následné stažení vzorového kódu
- Přejděte do Centra pro správu AMicrosoft Entra – Registrace aplikací prostředí pro rychlý start.
- Zadejte název vaší aplikace a Vyberte Zaregistrovat.
- 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
Pokud chcete zaregistrovat aplikaci a přidat informace o registraci aplikace ke svému řešení, postupujte následovně:
- Přihlaste se do Centra pro správu Microsoft Entra.
- 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á.
- Přejděte na Aplikace>Registrace aplikací vyberte Nová registrace.
-
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. - 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).
- Vyberte Zaregistrovat , abyste aplikaci vytvořili, a potom poznamenejte ID aplikace (klienta) pro použití v pozdějším kroku.
- V části Spravovat vyberte Ověřování.
- Vyberte Přidat platformu>Mobile a desktopové aplikace.
- V části Identifikátory URI přesměrování vyberte
https://login.microsoftonline.com/common/oauth2/nativeclient
. - 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
Extrahujte .zip archiv do místní složky blízko kořenového adresáře jednotky. Například do C:\Azure-Samples.
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.
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 (>>
Vytvořte a vyberte nový testovací certifikát podepsaný svým držitelem pro balíček:
- V Průzkumník řešení poklikejte na soubor Package.appxmanifest.
- Vybrat balíček>zvolit certifikát...>Vytvořit....
- Zadejte heslo a pak vyberte OK. Vytvoří se certifikát s názvem Native_UWP_V2_TemporaryKey.pfx .
- 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.
- V Průzkumník řešení klikněte pravým tlačítkem na projekt Native_UWP_V2 a vyberte Vlastnosti.
- 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:
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č.
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
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.