Konfigurace ověřování v ukázkové webové aplikaci pomocí Azure AD B2C
Tento článek používá ukázkovou ASP.NET webovou aplikaci, která ukazuje, jak do webových aplikací přidat ověřování Azure Active Directory B2C (Azure AD B2C).
Důležité
Ukázkovou ASP.NET webovou aplikaci, na kterou odkazuje tento článek, nejde použít k volání rozhraní REST API, protože vrací token ID, nikoli přístupový token. Informace o webové aplikaci, která může volat rozhraní REST API, najdete v tématu Zabezpečení webového rozhraní API vytvořeného pomocí ASP.NET Core pomocí Azure AD B2C.
Přehled
OpenID Připojení (OIDC) je ověřovací protokol založený na OAuth 2.0. Pomocí OIDC můžete bezpečně přihlásit uživatele k aplikaci. Tato ukázka webové aplikace používá web Microsoft Identity Web. Microsoft Identity Web je sada knihoven ASP.NET Core, které zjednodušují přidávání podpory ověřování a autorizace do webových aplikací.
Tok přihlášení zahrnuje následující kroky:
- Uživatelé přejdou do webové aplikace a vyberou Přihlášení.
- Aplikace zahájí žádost o ověření a přesměruje uživatele do Azure AD B2C.
- Uživatelé se zaregistrují nebo přihlásí a resetují heslo. Případně se můžou přihlásit pomocí účtu sociální sítě.
- Jakmile se uživatelé úspěšně přihlásí, Azure AD B2C vrátí do aplikace token ID.
- Aplikace ověří token ID, přečte deklarace identity a vrátí uživatelům zabezpečenou stránku.
Když vypršela platnost tokenu ID nebo je relace aplikace neplatná, aplikace zahájí novou žádost o ověření a přesměruje uživatele do Azure AD B2C. Pokud je aktivní relace jednotného přihlašování Azure AD B2C, Azure AD B2C vydá přístupový token bez výzvy, aby se uživatelé znovu přihlásili. Pokud platnost relace Azure AD B2C vyprší nebo je neplatná, zobrazí se uživatelům výzva k opětovnému přihlášení.
Odhlásit se
Tok odhlášení zahrnuje následující kroky:
- Z aplikace se uživatelé odhlásí.
- Aplikace vymaže objekty relace a knihovna ověřování vymaže mezipaměť tokenů.
- Aplikace přesáhne uživatele do koncového bodu pro odhlášení z Azure AD B2C, aby ukončila relaci Azure AD B2C.
- Uživatelé se přesměrují zpět do aplikace.
Požadavky
Počítač, na kterém běží některý z následujících způsobů:
- Visual Studio 2022 17.0 nebo novější s úlohou vývoje pro ASP.NET a web
- Sada .NET 6.0 SDK
Krok 1: Konfigurace toku uživatele
Když se uživatelé pokusí přihlásit k aplikaci, aplikace spustí žádost o ověření do koncového bodu autorizace prostřednictvím toku uživatele. Tok uživatele definuje a řídí uživatelské prostředí. Jakmile uživatelé dokončí tok uživatele, Azure AD B2C vygeneruje token a pak přesměruje uživatele zpět do vaší aplikace.
Pokud jste to ještě neudělali, vytvořte tok uživatele nebo vlastní zásadu. Opakujte kroky pro vytvoření tří samostatných toků uživatelů následujícím způsobem:
- Kombinovaný tok přihlášení a registrace uživatele, například
susi
. Tento tok uživatele podporuje také zapomenuté heslo . - Profil upravuje tok uživatele, například
edit_profile
. - Tok uživatele resetování hesla, například
reset_password
.
Předzálohuje B2C_1_
Azure AD B2C na název toku uživatele. Například z susi
se stane B2C_1_susi
.
Krok 2: Registrace webové aplikace
Pokud chcete aplikaci povolit přihlášení pomocí Azure AD B2C, zaregistrujte aplikaci v adresáři Azure AD B2C. Registrace aplikace vytvoří vztah důvěryhodnosti mezi aplikací a Azure AD B2C.
Během registrace aplikace zadáte identifikátor URI přesměrování. Identifikátor URI přesměrování je koncový bod, na který jsou uživatelé přesměrováni službou Azure AD B2C po ověření pomocí Azure AD B2C. Proces registrace aplikace vygeneruje ID aplikace označované také jako ID klienta, které jednoznačně identifikuje vaši aplikaci. Po registraci aplikace azure AD B2C použije ID aplikace i identifikátor URI pro přesměrování k vytvoření žádostí o ověření.
Pokud chcete vytvořit registraci webové aplikace, postupujte následovně:
Přihlaste se k portálu Azure.
Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
Vyberte Registrace aplikací a pak vyberte Nová registrace.
V části Název zadejte název aplikace (například webapp1).
V sekci Podporované typy účtů vyberte Účty u libovolného zprostředkovatele identity nebo organizačního adresáře (pro ověřování uživatelů pomocí toků uživatelů).
V části Identifikátor URI přesměrování vyberte Web a potom do pole adresa URL zadejte
https://localhost:44316/signin-oidc
.V části Správa zaškrtněte políčko Ověřování, přejděte na Implicitní udělení a hybridní toky, zaškrtněte políčko Tokeny ID (používané pro implicitní a hybridní toky).
V části Oprávnění zaškrtněte políčko Udělit souhlas správce s otevřenými a offline přístupy.
Vyberte Zaregistrovat.
Vyberte Přehled.
Poznamenejte si ID aplikace (klienta) pro pozdější použití při konfiguraci webové aplikace.
Krok 3: Získání ukázky webové aplikace
Stáhněte si soubor ZIP nebo naklonujte ukázkovou webovou aplikaci z GitHubu.
git clone https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2
Extrahujte ukázkový soubor do složky, kde celková délka cesty je 260 nebo méně znaků.
Krok 4: Konfigurace ukázkové webové aplikace
V ukázkové složce ve složce 1-WebApp-OIDC/1-5-B2C/ otevřete projekt WebApp-OpenID Připojení-DotNet.csproj pomocí sady Visual Studio nebo Visual Studio Code.
V kořenové složce projektu otevřete soubor appsettings.json . Tento soubor obsahuje informace o vašem zprostředkovateli identity Azure AD B2C. Aktualizujte následující vlastnosti nastavení aplikace:
Sekce | Key | Hodnota |
---|---|---|
AzureAdB2C | Instance | První část názvu tenanta Azure AD B2C (napříkladhttps://contoso.b2clogin.com ). |
AzureAdB2C | Doména | Úplný název tenanta Azure AD B2C (například contoso.onmicrosoft.com ). |
AzureAdB2C | ClientId | ID aplikace webové aplikace (klienta) z kroku 2. |
AzureAdB2C | SignUpSignInPolicyId | Toky uživatelů nebo vlastní zásady, které jste vytvořili v kroku 1. |
Konečný konfigurační soubor by měl vypadat jako následující JSON:
"AzureAdB2C": {
"Instance": "https://contoso.b2clogin.com",
"Domain": "contoso.onmicrosoft.com",
"ClientId": "<web-app-application-id>",
"SignedOutCallbackPath": "/signout/<your-sign-up-in-policy>",
"SignUpSignInPolicyId": "<your-sign-up-in-policy>"
}
Krok 5: Spuštění ukázkové webové aplikace
Sestavte a spusťte projekt.
Přejděte na
https://localhost:44316
.Vyberte Zaregistrovat/in.
Dokončete proces registrace nebo přihlášení.
Po úspěšném ověření se na navigačním panelu zobrazí vaše zobrazované jméno. Pokud chcete zobrazit deklarace identity, které se token Azure AD B2C vrátí do vaší aplikace, vyberte Deklarace identity.
Nasazení aplikace
V produkční aplikaci je identifikátor URI přesměrování registrace aplikace obvykle veřejně přístupným koncovým bodem, ve kterém je vaše aplikace spuštěná, například https://contoso.com/signin-oidc
.
Identifikátory URI pro přesměrování můžete v registrovaných aplikacích kdykoli přidávat a upravovat. Pro identifikátory URI přesměrování platí následující omezení:
- Adresa URL odpovědi musí začínat schématem
https
. - V adrese URL odpovědi se rozlišují malá a velká písmena. Jeho případ se musí shodovat s případem cesty URL spuštěné aplikace.
Další kroky
- Přečtěte si další informace o ukázce kódu.
- Zjistěte, jak povolit ověřování ve vlastní webové aplikaci pomocí Azure AD B2C.