# Sessions 📖 Gestion des sessions utilisateur et tokens d'authentification OAuth2/OIDC ## Diagramme ```mermaid erDiagram USERS ||--o{ SESSIONS : "possède" DEVICES ||--o{ SESSIONS : "associé" SESSIONS { uuid id PK uuid user_id FK uuid device_id FK string access_token_hash string refresh_token_hash timestamp access_token_expires_at timestamp refresh_token_expires_at inet ip_address string user_agent string city string country_code timestamp created_at timestamp last_activity_at timestamp revoked_at } ``` ## Légende **Durées de vie** : - Access token : **15 minutes** - Refresh token : **30 jours** (rotatif) - Inactivité : Déconnexion automatique après **30 jours** **Sécurité** : - Tokens stockés en **SHA256** (jamais en clair) - Rotation automatique des refresh tokens - Détection replay attack **Multi-device** : - Sessions simultanées **illimitées** - Révocation individuelle ou globale possible - Alertes si connexion depuis nouveau device ou pays différent