# 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