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:
@@ -7,15 +7,3 @@ test('home page has correct title and content', async ({ page }) => {
|
||||
await expect(page.getByRole('heading', { name: 'Bienvenue sur Classeo' })).toBeVisible();
|
||||
await expect(page.getByText('Application de gestion scolaire')).toBeVisible();
|
||||
});
|
||||
|
||||
test('counter increments when button is clicked', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
|
||||
await expect(page.getByText('Compteur: 0')).toBeVisible();
|
||||
|
||||
await page.getByRole('button', { name: 'Incrementer' }).click();
|
||||
await expect(page.getByText('Compteur: 1')).toBeVisible();
|
||||
|
||||
await page.getByRole('button', { name: 'Incrementer' }).click();
|
||||
await expect(page.getByText('Compteur: 2')).toBeVisible();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user