feat: Gestion des sessions utilisateur
Permet aux utilisateurs de visualiser et gérer leurs sessions actives sur différents appareils, avec la possibilité de révoquer des sessions à distance en cas de suspicion d'activité non autorisée. Fonctionnalités : - Liste des sessions actives avec métadonnées (appareil, navigateur, localisation) - Identification de la session courante - Révocation individuelle d'une session - Révocation de toutes les autres sessions - Déconnexion avec nettoyage des cookies sur les deux chemins (legacy et actuel) Sécurité : - Cache frontend scopé par utilisateur pour éviter les fuites entre comptes - Validation que le refresh token appartient à l'utilisateur JWT authentifié - TTL des sessions Redis aligné sur l'expiration du refresh token - Événements d'audit pour traçabilité (SessionInvalidee, ToutesSessionsInvalidees) @see Story 1.6 - Gestion des sessions
This commit is contained in:
43
README.md
43
README.md
@@ -172,9 +172,46 @@ make shell-frontend # Shell dans le container frontend
|
||||
|
||||
## Tests
|
||||
|
||||
- **PHPUnit** - Tests unitaires et intégration backend
|
||||
- **Vitest** - Tests unitaires frontend
|
||||
- **Playwright** - Tests E2E
|
||||
### Tests unitaires et intégration (dans Docker)
|
||||
|
||||
```bash
|
||||
make test # Tous les tests (PHPUnit + Vitest)
|
||||
make test-php # PHPUnit uniquement
|
||||
make test-js # Vitest uniquement
|
||||
make ci # Tous les checks + tests
|
||||
```
|
||||
|
||||
### Tests E2E Playwright (depuis l'hôte)
|
||||
|
||||
Les tests E2E nécessitent Node.js sur l'hôte (pas dans Docker) :
|
||||
|
||||
```bash
|
||||
# 1. Installer pnpm si pas déjà fait
|
||||
npm install -g pnpm
|
||||
|
||||
# 2. Installer les dépendances frontend
|
||||
cd frontend && pnpm install
|
||||
|
||||
# 3. Installer les navigateurs Playwright
|
||||
pnpm exec playwright install
|
||||
# ou avec npx : npx playwright install
|
||||
|
||||
# 4. S'assurer que l'app tourne
|
||||
make up
|
||||
|
||||
# 5. Lancer les tests E2E
|
||||
make e2e
|
||||
|
||||
# Ou en mode UI pour debug
|
||||
cd frontend && pnpm exec playwright test --ui
|
||||
```
|
||||
|
||||
**Pourquoi depuis l'hôte ?** Les tests E2E utilisent `docker compose exec` pour créer des utilisateurs de test, ce qui nécessite l'accès au CLI Docker.
|
||||
|
||||
**Problèmes de permissions ?** Si vous avez des erreurs `EACCES`, corrigez les permissions :
|
||||
```bash
|
||||
docker run --rm -v $(pwd)/frontend:/app alpine chown -R $(id -u):$(id -g) /app/.svelte-kit /app/node_modules /app/test-results
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user