Sdílet prostřednictvím


Přihlášení uživatelů v ukázkové desktopové aplikaci WPF

Tato příručka používá ukázkovou aplikaci Windows Presentation Foundation (WPF), která vám ukáže, jak přidat ověřování do desktopové aplikace WPF. Ukázková aplikace umožňuje uživatelům přihlásit se a odhlásit se. Ukázková desktopová aplikace používá knihovnu Microsoft Authentication Library pro .NET pro .NET ke zpracování ověřování.

Požadavky

Registrace desktopové aplikace

Pokud chcete aplikaci umožnit přihlášení uživatelů pomocí Microsoft Entra, Microsoft Entra Externí ID musí být informována o aplikaci, kterou vytvoříte. Registrace aplikace vytvoří vztah důvěryhodnosti mezi aplikací a Microsoft Entra. Když zaregistrujete aplikaci, externí ID vygeneruje jedinečný identifikátor označovaný jako ID aplikace (klienta), což je hodnota použitá k identifikaci aplikace při vytváření žádostí o ověření.

Následující kroky ukazují, jak zaregistrovat aplikaci v Centru pro správu Microsoft Entra:

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň vývojář aplikací.

  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte do externího tenanta z nabídky Adresáře a předplatná.

  3. Přejděte k aplikacím> identit>Registrace aplikací.

  4. Vyberte + Nová registrace.

  5. Na stránce Zaregistrovat aplikaci, která se zobrazí;

    1. Zadejte smysluplný název aplikace, který se zobrazí uživatelům aplikace, například ciam-client-app.
    2. V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři.
  6. Vyberte Zaregistrovat.

  7. Po úspěšné registraci se zobrazí podokno Přehled aplikace. Poznamenejte si ID aplikace (klienta), které se má použít ve zdrojovém kódu aplikace.

Určení aplikační platformy

Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:

  1. V části Spravovat vyberte Ověřování.
  2. Na stránce Konfigurace platformy vyberte Přidat platformu a pak vyberte možnost Mobilní a desktopové aplikace.
  3. Do vstupního pole v části Vlastní identifikátor URI přesměrování zadejte ručně https://login.microsoftonline.com/common/oauth2/nativeclienta pak vyberte Konfigurovat. Pokud tento identifikátor URI vyberete v poli pro výběr, může se zobrazit chyba identifikátoru URI přesměrování.

Jakmile aplikaci zaregistrujete, přiřadí se mu oprávnění User.Read . Vzhledem k tomu, že je tenant externím tenantem, nemohou vlastní uživatelé zákazníka s tímto oprávněním souhlasit. Jako správce musíte udělit souhlas s tímto oprávněním jménem všech uživatelů v tenantovi:

  1. Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete její stránku Přehled.

  2. V části Spravovat vyberte oprávnění rozhraní API.

    1. Vyberte Udělit souhlas správce pro <název> vašeho tenanta a pak vyberte Ano.
    2. Vyberte Aktualizovat a ověřte, že se pro <název> vašeho tenanta zobrazuje stav oprávnění.

Vytvoření toku uživatele

Pokud chcete vytvořit tok uživatele, který může zákazník použít k přihlášení nebo registraci aplikace, postupujte podle těchto kroků.

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce toku externího ID uživatele.

  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte do externího tenanta z nabídky Adresáře a předplatná.

  3. Přejděte k> tokům identity externích>identit uživatelů.

  4. Vyberte + Nový tok uživatele.

  5. Na stránce Vytvořit:

    1. Zadejte název toku uživatele, například SignInSignUpSample.

    2. V seznamu zprostředkovatelů identity vyberte E-mailové účty. Tento zprostředkovatel identity umožňuje uživatelům přihlásit se nebo zaregistrovat pomocí jejich e-mailové adresy.

      Poznámka:

      Další zprostředkovatelé identity se tady zobrazí až po nastavení federace s nimi. Pokud například nastavíte federaci s Googlem nebo Facebookem, budete tady moct vybrat další zprostředkovatele identity.

    3. V části E-mailové účty můžete vybrat jednu z těchto dvou možností. Pro účely tohoto kurzu vyberte E-mail s heslem.

      • E-mail s heslem: Umožňuje novým uživatelům zaregistrovat se a přihlásit se pomocí e-mailové adresy jako přihlašovací jméno a heslo jako jejich první přihlašovací údaje.
      • Jednorázové heslo e-mailu: Umožňuje novým uživatelům zaregistrovat se a přihlásit se pomocí e-mailové adresy jako přihlašovací jméno a jednorázové heslo jako jejich první přihlašovací údaje. Aby byla tato možnost dostupná na úrovni toku uživatele, musí být na úrovni tenanta povolená jednorázová hesla e-mailu všech zprostředkovatelů>identity.
    4. V části Atributy uživatele zvolte atributy, které chcete shromáždit od uživatele při registraci. Výběrem možnosti Zobrazit více můžete zvolit atributy a deklarace identity pro zemi/oblast, zobrazované jméno a PSČ. Vyberte OK. (Uživatelům se při první registraci zobrazí výzva pouze k zadání atributů.)

  6. Vyberte Vytvořit. Nový tok uživatele se zobrazí v seznamu Toky uživatele. V případě potřeby aktualizujte stránku.

Pokud chcete povolit samoobslužné resetování hesla, postupujte podle pokynů v článku Povolení samoobslužného resetování hesla.

Přidružení aplikace WPF k toku uživatele

Aby uživatelé zákazníka viděli prostředí registrace nebo přihlašování, když používají vaši aplikaci, musíte aplikaci přidružit k toku uživatele. I když k toku uživatele může být přidruženo mnoho aplikací, jedna aplikace může být přidružena pouze k jednomu toku uživatele.

  1. V nabídce bočního panelu vyberte Možnost Identita.

  2. Vyberte externí identity a pak toky uživatelů.

  3. Na stránce Toky uživatele vyberte název toku uživatele, který jste vytvořili dříve, například SignInSignUpSample.

  4. V části Použít vyberte Aplikace.

  5. Vyberte Přidat aplikaci.

  6. Vyberte aplikaci ze seznamu, jako je ciam-client-app , nebo pomocí vyhledávacího pole vyhledejte aplikaci a pak ji vyberte.

  7. Zvolte Vybrat.

Jakmile aplikaci přidružíte k toku uživatele, můžete tok uživatele otestovat simulací registrace nebo přihlašování uživatele k aplikaci z Centra pro správu Microsoft Entra. Uděláte to tak, že použijete kroky v části Otestování toku registrace a přihlášení uživatele.

Klonování nebo stažení ukázkové aplikace WPF

Pokud chcete získat ukázkovou aplikaci, můžete ji buď naklonovat z GitHubu, nebo si ji stáhnout jako soubor .zip.

  • Pokud chcete ukázku naklonovat, otevřete příkazový řádek a přejděte do umístění, kam chcete projekt vytvořit, a zadejte následující příkaz:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
    
  • Stáhněte soubor .zip. Extrahujte ho do cesty k souboru, kde délka názvu je menší než 260 znaků.

Konfigurace ukázkové aplikace WPF

  1. Otevřete projekt v integrovaném vývojovém prostředí (například Visual Studio nebo Visual Studio Code) a nakonfigurujte ho.

  2. V editoru kódu otevřete soubor appsettings.json ve složce ms-identity-ciam-dotnet-tutorial>1-Authentication>5-sign-in-dotnet-wpf.

  3. Nahraďte Enter_the_Application_Id_Here ID aplikace (klienta) aplikace, kterou jste zaregistrovali dříve.

  4. Nahraďte Enter_the_Tenant_Subdomain_Here subdoménou adresáře (tenanta). Pokud je vaše primární doména například contoso.onmicrosoft.com, nahraďte Enter_the_Tenant_Subdomain_Here ji contoso. Pokud nemáte primární doménu, přečtěte si, jak číst podrobnosti o tenantovi.

Spuštění a testování ukázkové desktopové aplikace WPF

  1. Otevřete okno konzoly a přejděte do adresáře, který obsahuje ukázkovou aplikaci WPF pro stolní počítače:

    cd 1-Authentication\5-sign-in-dotnet-wpf
    
  2. V terminálu spusťte aplikaci spuštěním následujícího příkazu:

    dotnet run
    
  3. Po spuštění ukázky by se mělo zobrazit okno s tlačítkem Přihlásit se. Vyberte tlačítko Pro přihlášení.

    Snímek obrazovky s přihlašovací obrazovkou pro desktopovou aplikaci WPF

  4. Na přihlašovací stránce zadejte e-mailovou adresu svého účtu. Pokud účet nemáte, vyberte Možnost Žádný účet? Vytvořte ho, který spustí tok registrace. Projděte si tento tok a vytvořte nový účet a přihlaste se.

  5. Po přihlášení se zobrazí obrazovka s úspěšným přihlášením a základními informacemi o vašem uživatelském účtu uloženém v načteného tokenu. Základní informace se zobrazí v části Informace o tokenu na přihlašovací obrazovce.

Jak to funguje

Hlavní konfigurace pro veřejnou klientskou aplikaci se zpracovává v souboru App.xaml.cs . Inicializuje PublicClientApplication se spolu s mezipamětí pro ukládání přístupových tokenů. Aplikace nejprve zkontroluje, jestli existuje token uložený v mezipaměti, který se dá použít k přihlášení uživatele. Pokud neexistuje token uložený v mezipaměti, zobrazí se uživateli výzva k zadání přihlašovacích údajů a přihlášení. Po odhlášení se mezipaměť vymaže ze všech účtů a všech odpovídajících přístupových tokenů.