Changelog
Tots els canvis notables del projecte Line Dance Platform es documentaran aquí.
El format s’inspira en Keep a Changelog
i el projecte, quan entri en producció, seguirà Semantic Versioning.
De moment, estructurem el canvi per Fases del roadmap.
[Fase 3] - 2024-11-14 – Autenticació i seguretat JWT
✨ Added
Backend
- Sistema complet d’autenticació basat en JWT:
access tokens(~15 minuts) per a crides d’API.refresh tokens(~7 dies) per renovar autenticació.
- Entitat
Useramb:emailúnic (case-insensitive),passwordHash(BCrypt),- camp
role(USER,TEACHER,ADMIN), - camp
tokenVersionper invalidar tokens antics.
- Endpoints d’autenticació:
POST /auth/register– alta d’usuari.POST /auth/login– obtenció d’accessToken+refreshToken.POST /auth/refresh– renovació d’accessToken.GET /auth/me– dades bàsiques de l’usuari autenticat.POST /auth/logout– invalidació de refresh token actual.POST /auth/logoutAll– increment detokenVersion(revoca tots els tokens).
- Integració amb Spring Security:
- filtre JWT,
- configuració de rutes públiques vs protegides.
- Migracions Flyway:
- creació de taula
users, - camps de rols i timestamps,
- seeding inicial d’un usuari
ADMIN(DataInitializer).
- creació de taula
Frontend (esbós funcional)
- Flux bàsic de login:
- formulari d’email + password,
- crida a
/auth/login, - emmagatzematge del token (o ús de cookies segons configuració).
- Començament de:
- guardes de rutes segons rol,
- crides autenticades amb
Authorization: Bearer <token>.
Seguretat
- Configuració CORS ajustada per permetre:
- domini de frontend en local (
http://localhost:xxxx), - futura URL de producció.
- domini de frontend en local (
- Polítiques de contrasenyes i encriptació amb
BCryptPasswordEncoder.
📝 Changed
- Fitxers de configuració:
SecurityConfigactualitzat per:- permetre autenticació JWT,
- definir rutes públiques (
/auth/**,/actuator/health, docs) i rutes protegides (/api/**).
application.ymlajustat per:- propietats de JWT (expiracions, secret),
- configuració de logs per debugging.
- Documentació:
- Nou document
architecture/security.mdamb el disseny JWT i RBAC. - Actualització de
overview/tech-stack.mdper reflectir l’stack de seguretat.
- Nou document
🔧 Pending / To do (derivat de Fase 3)
- Afegir tests d’integració per:
- login,
- ús d’
accessTokenen endpoints protegits, - refresh i logout.
- Millorar gestió d’errors d’autenticació al frontend:
- feedback a l’usuari,
- expiració de sessió i redirecció automàtica al login.
Notes sobre versionat
- Fase N: milestones funcionals del projecte (Fase 1 = MVP, Fase 2 = entitats relacionades, Fase 3 = autenticació…).
- A partir del moment en què l’aplicació tingui entorn de producció estable, es començarà a utilitzar un esquema
MAJOR.MINOR.PATCHmés clàssic (p. ex.1.0.0,1.1.0, etc.).
Estat actual
- ✅ Fase 3 completada a nivell funcional (autenticació JWT operativa).
- 📌 Fases 4B–4E en planificació (
import-system,db-redesign-plani evolució de domini).
Els propers canvis importants s’aniran afegint aquí, referenciant sempre els documents rellevants del roadmap/ i architecture/.