Staram się rozejrzeć po całym obrazie, tworząc nową stronę internetową przy użyciu programu ASP.NET Core. Chcę, aby użytkownicy mojej witryny mogli się rejestrować i logować w mediach społecznościowych, takich jak Facebook i Google. Po zarejestrowaniu, kiedy przesyłają żądania do mojego interfejsu WebAPI w sprawie zasobów, muszę wiedzieć, który użytkownik jest zalogowany, aby można było spersonalizować żądania zasobów. Bawiłem się z ASP.NET Core Identity i wydaje się, że zapewnia to większość funkcjonalności tego, czego potrzebuję - na przykład rejestracji u zewnętrznych dostawców, logowania i przechowywania tych szczegółów w bazie danych za pomocą Entity Framework - jednak z trochę więcej magii, niż bym naprawdę chciał - wiele samouczków zawiera listę kroków, które pozwolą mu działać bez wyjaśniania, jak działa w tle, na przykład podczas rozmowy z Facebookiem.
Na froncie chcę korzystać z Aurelii i zauważyłem kilka samouczków, które używają serwera tożsamości - co rozumiem jako implementację OpenIDConnect.
Po obejrzeniu filmu o IdentityServer ... Rozumiem, że możesz używać ASP.NET Core Identity z IdentityServer. Nie rozumiem, czy byłoby to coś, co byłoby dla mnie przydatne po prostu zaimplementowanie tożsamości ASP.NET Core. (To powiedziawszy, że nie mogę znaleźć samouczków dotyczących integracji Aurelia, ASP.NET Core Identity ...) Jaka jest ogólna zaleta dodawania większej złożoności z Identity Server w porównaniu z samym używaniem ASP.NET Core Identity?
Odpowiedzi:
Serwer tożsamości umożliwia wydawanie tokenów dostępu do interfejsów API. Z mojego doświadczenia wynika, że był używany tylko wtedy, gdy aplikacja wymaga niestandardowego uwierzytelnienia OAuth 2.0, którego nie mogą zapewnić dostawcy uwierzytelniania obsługiwani przez program ASP.Net Core. Jeśli witryna może korzystać z jednego istniejącego dostawcy OAuth 2.0, konfiguracja i zarządzanie własną instancją serwera tożsamości nie ma żadnej korzyści.
źródło