Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Autoři: Valerij Novytskyj a Rick Anderson
Tento článek vysvětluje, jak vytvořit aplikaci ASP.NET Core, která uživatelům umožňuje přihlásit se pomocí OAuth 2.0 s přihlašovacími údaji od externích zprostředkovatelů ověřování.
V následujících sekcích jsou popsáni zprostředkovatelé Facebook, Twitter, Google a Microsoft a využívá se úvodní projekt vytvořený v tomto článku. Další poskytovatelé jsou k dispozici v balíčcích třetích stran, jako OpenIddict, AspNet.Security.OAuth.Providers a AspNet.Security.OpenId.Providers.
Umožňuje uživatelům přihlásit se pomocí svých stávajících přihlašovacích údajů, což je vhodné pro uživatele a přesouvá mnoho složitostí správy procesu přihlašování na třetí stranu.
Vytvoření nového projektu ASP.NET Core
- Vyberte šablonu webové aplikace ASP.NET Core. Vyberte OK.
- V poli Typ ověřování vyberte Jednotlivé účty.
Provedení migrací
- Spusťte aplikaci a vyberte odkaz Zaregistrovat.
- Zadejte e-mail a heslo nového účtu a pak vyberte Zaregistrovat.
- Řiďte se pokyny pro aplikaci migrací.
Předávání informací o požadavcích pomocí proxy serveru nebo nástroje pro vyrovnávání zatížení
Pokud je aplikace nasazená za proxy serverem nebo nástrojem pro vyrovnávání zatížení, mohou se některé z původních informací o požadavku předávat do aplikace v hlavičce požadavku. Tyto informace obvykle zahrnují zabezpečené schéma požadavků (https), hostitele a IP adresu klienta. Aplikace tyto hlavičky požadavků nenačítají automaticky, aby zjistily a využily informace o původním požadavku.
Schéma se používá při generování odkazů, které ovlivňuje tok ověřování s externími zprostředkovateli. Ztráta zabezpečeného schématu (https) způsobí, že aplikace generuje nesprávné a nezabezpečené adresy URL pro přesměrování.
Pomocí middlewaru Forwarded Headers zpřístupníte aplikaci informace o původním požadavku pro zpracování požadavků.
Další informace najdete v tématu Konfigurace ASP.NET Core pro práci s proxy servery a nástroji pro vyrovnávání zatížení.
Ukládání tokenů přiřazených zprostředkovateli přihlášení pomocí Správce tajných kódů
Zprostředkovatelé přihlašovacích údajů pro sociální sítě přiřazují během procesu registrace tokeny ID aplikace a tajný kód aplikace. Přesné názvy tokenů se liší podle zprostředkovatele. Tyto tokeny představují přihlašovací údaje, které aplikace používá pro přístup k rozhraní API poskytovatele. Tokeny představují tajné kódy uživatelů , které je možné propojit s konfigurací vaší aplikace pomocí Secret Manageru. Tajné kódy uživatelů jsou bezpečnější alternativou k ukládání tokenů do konfiguračního souboru, jako je appsettings.json.
Důležité
Správce tajných kódů je určen pouze pro místní vývoj a testování. Chraňte pracovní a produkční tajné kódy pomocí zprostředkovatele konfigurace služby Azure Key Vault, který se dá použít také pro místní vývoj a testování, pokud nechcete používat Secret Manager místně.
Pokyny k ukládání tokenů přiřazených jednotlivými zprostředkovateli přihlášení najdete v tématu Bezpečné úložiště tajných kódů aplikací při vývoji v ASP.NET Core.
Konfigurace zprostředkovatelů přihlášení
Ke konfiguraci zprostředkovatelů přihlášení a aplikace použijte následující články:
- Pokyny pro Facebook
- Pokyny pro Twitter
- Pokyny pro Google
- Pokyny pro Microsoft
- Pokyny pro jiné zprostředkovatele
Několik zprostředkovatelů ověřování
Pokud aplikace vyžaduje více poskytovatelů, zřetězte metody rozšíření provideru na AddAuthentication:
builder.Services.AddAuthentication()
.AddGoogle(options =>
{
// Google configuration options
})
.AddFacebook(options =>
{
// Facebook configuration options
})
.AddMicrosoftAccount(options =>
{
// Microsoft Account configuration options
})
.AddTwitter(options =>
{
// Twitter configuration options
});
Podrobné pokyny ke konfiguraci jednotlivých poskytovatelů najdete v příslušných článcích.
Volitelně můžete nastavit heslo.
Když se zaregistrujete u externího zprostředkovatele přihlášení, nemáte v aplikaci zaregistrované heslo. Tím se zbavíte nutnosti vytvářet a pamatovat si heslo pro stránku, ale zároveň vás to činí zcela závislými na externím poskytovateli přihlášení pro přístup ke stránce. Pokud externí zprostředkovatel přihlášení není dostupný, nebudete se moct přihlásit k aplikaci.
Vytvoření hesla a přihlášení pomocí e-mailu, který jste nastavili během procesu přihlašování s externími poskytovateli:
- Výběrem odkazu Hello < alias e-mailu> v pravém horním rohu se přesuňte do zobrazení Spravovat.
- Vyberte Vytvořit:
- Nastavte platné heslo a pomocí těchto přihlašovacích údajů se můžete přihlásit pomocí své e-mailové adresy.