- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md - Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines) - Corriger listes markdown (ajout lignes vides avant listes) - Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes) - Ajouter script fix-markdown-lists.sh pour corrections futures Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
49 lines
1.1 KiB
Markdown
49 lines
1.1 KiB
Markdown
# 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
|