¿Qué ofrece Identity Server que ASP.NET Core Identity no ofrece?

9

Estoy tratando de entender el panorama general cuando produzco un nuevo sitio web usando ASP.NET Core. Quiero que los usuarios de mi sitio web puedan registrarse e iniciar sesión en las redes sociales como Facebook y Google. Una vez registrado cuando realizan solicitudes a mi WebAPI de recursos, necesito saber qué usuario ha iniciado sesión para que las solicitudes de recursos se puedan personalizar para el usuario. He jugado con ASP.NET Core Identity y esto parece proporcionar gran parte de la funcionalidad de lo que necesito, por ejemplo, registrarme con proveedores externos, iniciar sesión y almacenar esos detalles en una base de datos usando Entity Framework, pero con un un poco más de magia de lo que realmente me gustaría: muchos tutoriales enumeran los pasos para que funcione sin explicar cómo funciona en segundo plano para hablar con Facebook, por ejemplo.

En el front-end, estoy buscando usar Aurelia y he notado una serie de tutoriales que usan Identity Server, que entiendo que es una implementación de OpenIDConnect.

Después de ver un video sobre IdentityServer ... Entiendo que puede usar ASP.NET Core Identity con IdentityServer. Lo que no entiendo es si eso es algo que me sería útil sobre la implementación de ASP.NET Core Identity. (Dicho esto, parece que no puedo encontrar tutoriales para integrar Aurelia, ASP.NET Core Identity ...) ¿Cuál es generalmente la ventaja de agregar más complejidad con Identity Server en lugar de usar ASP.NET Core Identity?

Chris Nevill
fuente
1
Este sitio es para preguntas conceptuales y de ingeniería de software. Las preguntas sobre herramientas, comparaciones, recomendaciones, etc., están fuera de tema.
Andres F.
3
Las dos bibliotecas están interconectadas hasta cierto punto. Estoy tratando de entender dónde termina una y comienza otra. Si está fuera de tema, me gustaría saber si hay algún otro lugar donde pueda hacer esta pregunta.
Chris Nevill
1
Esto definitivamente está fuera de tema aquí y desafortunadamente no conozco ningún sitio de la red stackexchange donde pueda preguntar esto.
Andres F.
44
No veo cómo esto está fuera de tema. Suena como una pregunta legítima para mí.
RubberDuck
1
Tengo los mismos malentendidos. Intentaría preguntarlo en stackoverflow.
SiberianGuy

Respuestas:

3

Identity Server le permite emitir tokens de acceso para API. En mi experiencia, solo he visto que se usa cuando la aplicación requiere autenticación OAuth 2.0 personalizada que no pueden proporcionar los proveedores de autenticación compatibles con ASP.Net Core. Si su sitio puede usar uno de los proveedores existentes de OAuth 2.0, entonces no hay ninguna ventaja en configurar y administrar su propia instancia de Identity Server.

Neverseenjack
fuente
1
Esta es una buena respuesta. Sin embargo, toda la pregunta está fuera de tema (hace una pregunta sobre una tecnología específica en lugar de una pregunta general de ingeniería de software).
Jay Elston
De acuerdo sobre la tecnología específica. Sin embargo, si elimina menciones específicas a ASP.Net Core, la pregunta básicamente es "¿cuál es el propósito de tener un proveedor de identidad personalizado?"
neverseenjack