docs(shared): ajouter documentation complète entités, états et séquences
- 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
This commit is contained in:
38
docs/domains/_shared/sequences/token-refresh.md
Normal file
38
docs/domains/_shared/sequences/token-refresh.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Séquence - Refresh Token
|
||||
|
||||
## Diagramme
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant A as App Mobile
|
||||
participant Z as Zitadel
|
||||
participant DB as PostgreSQL
|
||||
|
||||
Note over A: Access token expiré (15min)
|
||||
|
||||
A->>Z: POST /oauth/token (refresh_token)
|
||||
Z->>DB: Vérification hash refresh_token
|
||||
|
||||
alt Token valide
|
||||
Z->>Z: Génération nouveaux tokens
|
||||
Z->>DB: Update session (nouveau hash)
|
||||
Z->>DB: Invalidation ancien refresh_token
|
||||
Z-->>A: Nouveaux tokens
|
||||
Note over DB: Rotation complète
|
||||
else Token invalide ou rejoué
|
||||
Z->>DB: Révocation toutes sessions user
|
||||
Z-->>A: 401 Unauthorized
|
||||
Note over A: Reconnexion requise
|
||||
end
|
||||
```
|
||||
|
||||
## Légende
|
||||
|
||||
**Rotation** :
|
||||
- Nouveau refresh_token à chaque refresh
|
||||
- Ancien token invalidé immédiatement
|
||||
- Prévient replay attack
|
||||
|
||||
**Sécurité** :
|
||||
- Si ancien token réutilisé → révocation globale
|
||||
- Logs sécurité + notification utilisateur
|
||||
Reference in New Issue
Block a user