Tengo una API web central de asp.net. Actualmente estoy haciendo llamadas directamente usando una aplicación Angular 4.
Ahora quiero agregar una capa de autenticación y autorización.
Me gustaría hacer esto agregando otro proyecto (estrictamente para autenticación) de tipo: ASP.NET Core MVC (con cuentas de usuario individuales) a mi solución y luego agregando IdentityServer4. El plan es usar las tablas de Identidad existentes para almacenar usuarios, roles, etc.
Una vez que todo esto está configurado, estoy un poco confundido acerca de cómo mi aplicación Angular 4 SPA o cualquier otro tercero se autentica a través de la aplicación IdentityServer. Supongo que esto devuelve un token de algún tipo. Luego procede a realizar llamadas a mi proyecto API web original (es decir, GetCustomers()) con ese token.
Según la investigación que hice, parece que lo único que necesito es la autenticación del portador JWT en ASP.NET Core.
¿Puede alguien proporcionarme algunos enlaces/información sobre cómo realizar todo este proceso? No he encontrado ningún buen video que abarque todo el asunto. Además, confirme que el patrón anterior del que estoy hablando suena correcto.
Identity Server tiene diferentes flows/grant types , el que está hablando llamado implícito en ese caso, Identity Server devolverá un jwt token , por lo que debe almacenar ese jwt token en un cliente y luego adjuntarlo al encabezado de solicitud al solicitar su seguridad. rutas webapi .
Las muestras oficiales son un muy buen punto de partida, también consulte su blog que tiene mucha información útil sobre el tema.
Hablando de los buenos videos sobre el tema aquí hay uno bueno de la reciente conferencia de NDC IdentityServer4: Nuevo y mejorado para ASP.NET Core . Además, si desea aprender cosas más profundamente, puede consultar este curso de pluralsignt de Dominick Baier.