- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports) - États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export) - Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression) - Renommage: modele-global.md → entities-overview.md - MkDocs: organisation hiérarchique par catégories Format concis: diagrammes Mermaid + règles essentielles uniquement
30 lines
853 B
Markdown
30 lines
853 B
Markdown
# Cycle de vie - Session
|
|
|
|
## Diagramme
|
|
|
|
```mermaid
|
|
stateDiagram-v2
|
|
[*] --> Active: Connexion
|
|
|
|
Active --> Active: Refresh token
|
|
Active --> Expired: Inactivité 30j
|
|
Active --> Revoked: Déconnexion manuelle
|
|
Active --> Revoked: Changement mot de passe
|
|
Active --> Revoked: Replay attack
|
|
|
|
Expired --> [*]
|
|
Revoked --> [*]
|
|
```
|
|
|
|
## Règles
|
|
|
|
| État | Condition | Description |
|
|
|------|-----------|-------------|
|
|
| Active | `revoked_at IS NULL` | Access token 15min, Refresh token 30j |
|
|
| Expired | `refresh_token_expires_at < NOW()` | Inactivité 30j |
|
|
| Revoked | `revoked_at IS NOT NULL` | Révoquée manuellement |
|
|
|
|
**Rotation** : Refresh token rotatif (nouveau à chaque refresh)
|
|
**Sécurité** : Tokens hashés SHA256, révocation globale si replay attack
|
|
**Nettoyage** : Suppression sessions expirées/révoquées > 7j/30j
|