Skip to content

#[auth-service-07] Configurar seguridad y protección de rutas #58

@AinohaBarcia

Description

@AinohaBarcia

🗒️ 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.

Metadata

Metadata

Assignees

Labels

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions