🗒️ Descripción
Configurar la seguridad general del microservicio de autenticación utilizando Spring Security, integrando el sistema JWT previamente implementado.
El objetivo es garantizar que solo los usuarios autenticados puedan acceder a determinadas rutas y que las rutas públicas sigan siendo accesibles sin token.
🎯 Objetivo
Proteger los endpoints del microservicio, definiendo claramente qué rutas requieren autenticación y cuáles son públicas, manteniendo un flujo de login y autorización seguro y escalable.
🔧 Tareas
- Crear una clase
SecurityConfig que:
- Deshabilite CSRF (por usar JWT).
- Defina la política de sesión como STATELESS.
- Permita acceso libre a rutas públicas (
/auth/**).
- Requiera autenticación JWT para rutas privadas (
/Authuser/**, /secure/**).
- Integre el filtro
JwtAuthenticationFilter antes del filtro AuthUsernamePasswordAuthenticationFilter.
- Configurar un
AuthenticationEntryPoint para manejar errores de autenticación con mensajes claros.
- Verificar que las dependencias de Spring Security y JWT estén correctamente integradas.
- Añadir documentación básica en el README sobre cómo funcionan los endpoints y la autenticación.
- Probar manualmente con Postman los flujos de login y acceso a rutas privadas.
✔️ Criterios de aceptación
- [Happy path] Las rutas públicas son accesibles sin token.
- [Happy path] Las rutas privadas devuelven 200 solo con un token JWT válido.
- [Not happy path] Peticiones sin token o con token inválido devuelven 401 Unauthorized.
- [Edge case 1] El filtro JWT se ejecuta antes que cualquier otro filtro de seguridad.
- [Edge case 2] CSRF y sesiones desactivadas correctamente.
🗒️ Descripción
Configurar la seguridad general del microservicio de autenticación utilizando Spring Security, integrando el sistema JWT previamente implementado.
El objetivo es garantizar que solo los usuarios autenticados puedan acceder a determinadas rutas y que las rutas públicas sigan siendo accesibles sin token.
🎯 Objetivo
Proteger los endpoints del microservicio, definiendo claramente qué rutas requieren autenticación y cuáles son públicas, manteniendo un flujo de login y autorización seguro y escalable.
🔧 Tareas
SecurityConfigque:/auth/**)./Authuser/**,/secure/**).JwtAuthenticationFilterantes del filtroAuthUsernamePasswordAuthenticationFilter.AuthenticationEntryPointpara manejar errores de autenticación con mensajes claros.✔️ Criterios de aceptación