Co oferuje serwer tożsamości, czego nie zapewnia ASP.NET Core Identity

9

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?

Chris Nevill
źródło
1
Ta strona służy do pytań koncepcyjnych i inżynierii oprogramowania. Pytania dotyczące narzędzi, porównań, rekomendacji itp. Są nie na temat.
Andres F.
3
Te dwie biblioteki są do pewnego stopnia połączone. Próbuję zrozumieć, gdzie kończy się jedna, a druga zaczyna. Jeśli jest to nie na temat, chciałbym wiedzieć, czy jest gdzieś indziej, mogę zadać to pytanie.
Chris Nevill
1
Jest to zdecydowanie nie na temat i niestety nie znam żadnej strony z sieci Stackexchange, w której można o to zapytać.
Andres F.
4
Nie rozumiem, jak to jest nie na temat. Brzmi dla mnie jak uzasadnione pytanie.
RubberDuck,
1
Mam te same nieporozumienia. Spróbowałbym zapytać o to przy przepełnieniu stosu.
SiberianGuy

Odpowiedzi:

3

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.

neverseenjack
źródło
1
To dobra odpowiedź. Jednak całe pytanie jest nie na temat (zadaje pytanie o konkretną technologię, a nie ogólne pytanie inżynierii oprogramowania).
Jay Elston,
Uzgodniono konkretną technologię. Jeśli jednak usuniesz określone wzmianki o programie ASP.Net Core, pytanie zasadniczo zadaje pytanie „po co mieć niestandardowego dostawcę tożsamości?”
neverseenjack