feat: rate limiting sur les routes d'authentification critiques
- Ajout de lib/rate-limit.js : fabrique de limiter en mémoire (closure + Map avec nettoyage lazy), sans dépendance externe, réutilisable - Ajout de middleware.js : intercepte /api/auth/register (5 req/15min) et /api/auth/callback/credentials (10 req/5min), répond 429 + Retry-After - Ajout de tasks/todo.md et tasks/lessons.md (suivi CLAUDE.md) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Tâches — Konstitisyon Frontend
|
||||
|
||||
## Améliorations critiques (P1)
|
||||
|
||||
- [x] **Rate limiting** — `lib/rate-limit.js` + `middleware.js`
|
||||
- Routes protégées : `/api/auth/register` (5/15min) et `/api/auth/callback/credentials` (10/5min)
|
||||
- Logique vérifiée : comptage, blocage 429 + Retry-After, expiration fenêtre ✓
|
||||
- [ ] **CORS whitelist** — restreindre `CORS_ORIGIN=true` dans l'env Directus
|
||||
- [ ] **Sanitisation Markdown** — ajouter `isomorphic-dompurify` dans `markdown-renderer`
|
||||
|
||||
## Améliorations hautes (P2)
|
||||
|
||||
- [ ] **Headers CSP** — ajouter dans `next.config.js`
|
||||
- [ ] **Tests unitaires** — Vitest sur `lib/format.js`, `lib/version-utils.js`, `lib/rate-limit.js`
|
||||
- [ ] **Tests extensions Directus** — mocks VersionsService
|
||||
- [ ] **Refresh token explicite** — callback `jwt` dans NextAuth options
|
||||
- [ ] **Pipeline CI** — GitHub Actions (lint + test + build)
|
||||
- [ ] **Sentry** — tracking erreurs frontend + API routes
|
||||
|
||||
## Améliorations moyennes (P3)
|
||||
|
||||
- [ ] ISR page d'accueil (`revalidate`)
|
||||
- [ ] Dockerisation frontend (`output: standalone`)
|
||||
- [ ] Audit accessibilité WCAG 2.1
|
||||
- [ ] Responsive mobile dashboard
|
||||
- [ ] Lazy loading jsPDF + md-editor
|
||||
- [ ] Migration NextAuth v5 stable
|
||||
Reference in New Issue
Block a user