Přihlášení uživatelů k ukázkové webové aplikaci ASP.NET Core v externím tenantovi
Tento průvodce postupy používá ukázkovou webovou aplikaci ASP.NET Core k zobrazení základů moderního ověřování pomocí knihovny Microsoft Authentication Library pro .NET a webu Microsoft Identity pro ASP.NET Core pro zpracování ověřování.
V tomto článku zaregistrujete webovou aplikaci v Centru pro správu Microsoft Entra a vytvoříte přihlášení a odhlásíte tok uživatele. Webovou aplikaci přidružíte k toku uživatele, stáhnete a aktualizujete ukázkovou webovou aplikaci ASP.NET Core pomocí vlastních podrobností o externím tenantovi. Nakonec spustíte a otestujete ukázkovou webovou aplikaci.
Požadavky
- I když se dá použít jakékoli integrované vývojové prostředí, které podporuje ASP.NET základní aplikace, visual Studio Code se používá pro tuto příručku. Můžete si ho stáhnout ze stránky Stažené soubory .
- .NET 7.0 SDK.
- Externí tenant. Pokud ho chcete vytvořit, zvolte některou z následujících metod:
- (Doporučeno) Pomocí rozšíření Microsoft Entra Externí ID nastavte externího tenanta přímo v editoru Visual Studio Code.
- V Centru pro správu Microsoft Entra vytvořte nového externího tenanta .
Registrace webové 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:
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň vývojář aplikací.
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á.
Přejděte k aplikacím> identit>Registrace aplikací.
Vyberte + Nová registrace.
Na stránce Zaregistrovat aplikaci, která se zobrazí;
- Zadejte smysluplný název aplikace, který se zobrazí uživatelům aplikace, například ciam-client-app.
- V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři.
Vyberte Zaregistrovat.
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.
Definování platformy a adres URL
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
- V části Spravovat vyberte Ověřování.
- Na stránce Konfigurace platformy vyberte Přidat platformu a pak vyberte Možnost Web.
- Pro identifikátory URI přesměrování zadejte
https://localhost:7274/signin-oidc
. - V části Adresa URL odhlášení z front kanálu zadejte
https://localhost:7274/signout-callback-oidc
pro odhlášení. - Výběrem možnosti Konfigurovat uložte změny.
Povolení implicitních a hybridních toků
Aplikace, kterou sestavíte, používá implicitní tok, který je potřeba povolit.
- V části Implicitní udělení a hybridní toky vyberte možnost tokenů ID.
- Zvolte Uložit.
Přidání tajného klíče klienta aplikace
Vytvořte tajný klíč klienta pro zaregistrovanou aplikaci. Aplikace používá tajný klíč klienta k prokázání své identity při žádosti o tokeny.
- Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete její stránku Přehled.
- V části Spravovat vyberte Certifikáty a tajné kódy.
- Vyberte Nový tajný klíč klienta.
- Do pole Popis zadejte popis tajného klíče klienta (například tajný klíč klienta ciam).
- V části Konec platnosti vyberte dobu platnosti tajného kódu (podle pravidel zabezpečení vaší organizace) a pak vyberte Přidat.
- Poznamenejte si hodnotu tajného kódu. Tuto hodnotu použijete pro konfiguraci v pozdějším kroku. Hodnota tajného kódu se znovu nezobrazí a po přechodu z certifikátů a tajných kódů se nezobrazí žádným způsobem. Ujistěte se, že jste ho nahráli.
Udělit souhlas správce
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:
Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete její stránku Přehled.
V části Spravovat vyberte oprávnění rozhraní API.
- Vyberte Udělit souhlas správce pro <název> vašeho tenanta a pak vyberte Ano.
- 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ů.
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce toku externího ID uživatele.
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á.
Přejděte k> tokům identity externích>identit uživatelů.
Vyberte + Nový tok uživatele.
Na stránce Vytvořit:
Zadejte název toku uživatele, například SignInSignUpSample.
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.
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.
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ů.)
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í webové aplikace 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.
V nabídce bočního panelu vyberte Možnost Identita.
Vyberte externí identity a pak toky uživatelů.
Na stránce Toky uživatele vyberte název toku uživatele, který jste vytvořili dříve, například SignInSignUpSample.
V části Použít vyberte Aplikace.
Vyberte Přidat aplikaci.
Vyberte aplikaci ze seznamu, jako je ciam-client-app , nebo pomocí vyhledávacího pole vyhledejte aplikaci a pak ji vyberte.
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é webové aplikace
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 aplikace
Přejděte do kořenové složky ukázky, kterou jste stáhli, a adresář obsahující ukázkovou aplikaci ASP.NET Core:
cd 1-Authentication\1-sign-in-aspnet-core-mvc
Otevřete soubor appsettings.json.
V autoritě ji vyhledejte
Enter_the_Tenant_Subdomain_Here
a nahraďte subdoménou vašeho tenanta. Pokud je například primární doména caseyjensen@onmicrosoft.comvašeho tenanta , hodnota, kterou byste měli zadat, je casyjensen.Enter_the_Application_Id_Here
Najděte hodnotu a nahraďte ji ID aplikace (clientId) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.Nahraďte
Enter_the_Client_Secret_Here
hodnotou tajného klíče klienta, kterou jste nastavili v části Přidat tajný klíč klienta aplikace.
Spuštění ukázky kódu
Z prostředí nebo příkazového řádku spusťte následující příkazy:
dotnet run
Otevřete webový prohlížeč a přejděte na
https://localhost:7274
.Přihlaste se pomocí účtu zaregistrovaného do externího tenanta.
Po přihlášení se zobrazované jméno zobrazí vedle tlačítka Odhlásit se, jak je znázorněno na následujícím snímku obrazovky.
Pokud se chcete odhlásit z aplikace, vyberte tlačítko Odhlásit se.