-
Notifications
You must be signed in to change notification settings - Fork 0
5. Seguridad, flujo y convenciones
Arturo Lopez edited this page Apr 8, 2026
·
2 revisions
Seguridad:
- Spring Security 6 con Kotlin DSL.
- JWT stateless: filtro de autenticación,
AuthenticationProvider. - Access tokens (24h) + Refresh tokens (7 días con rotación).
- Roles:
TRAINER,GYM_LEADER,PROFESOR_OAK— autorización con@PreAuthorize. - Endpoints públicos:
actuator/health, Swagger en dev. - CORS configurado en
config/WebConfig.kt. - Secret management via variables de entorno (nunca hardcodeado).
Buenas prácticas:
- No usar sesiones (stateless).
- Principio de menor privilegio.
- Tests de seguridad con
@WithMockUser. - JWT no cifra datos, solo los firma — nunca incluir contraseñas ni datos sensibles en el payload.
Migraciones:
- Flyway: versionado de esquema, reproducibilidad.
- Nombrado:
V001__init.sql,V002__add_user_table.sql.
Flujo Git:
- Branching:
feature/,fix/,chore/. - Pull Requests con checklist:
- Tests incluidos.
- Documentación actualizada.
- Endpoints documentados en Swagger.
- No romper contratos públicos existentes.
Convenciones:
- Kotlin style guide + KTLint para formateo automático.
- Detekt para análisis estático de code smells.
- Conventional Commits:
feat:→ minor release,fix:→ patch release.
CI/CD:
- GitHub Actions: build, test, lint en cada PR.
- JaCoCo: cobertura mínima 85%.
- SAST / Dependabot para vulnerabilidades.
- Docker: imagen de la app + Docker Compose con PostgreSQL para desarrollo local.
- Semantic-release para versioning automático basado en commits.
© 2025 Spring Boot Course - API REST real
Desarrollado por lgzarturo
Licencia Creative Commons Attribution 4.0 International (CC BY 4.0) | Términos de Uso | Política de Privacidad
Recursos adicionales:
¿Tienes sugerencias o quieres reportar un error?
- Inicio
- Calendario de liberaciones
- Arquitectura
- Guía de Desarrollo
- Roadmap del Curso
- Testing y Calidad
- Seguridad y Flujo
- Gamificación
- Usa TDD para asegurar calidad.
- Mantén las capas desacopladas.
- Documenta tus APIs con Swagger.
- Aplica seguridad con JWT y roles.