Files
roadwave/docs/domains/_shared/sequences/refresh-token.md
jpgiannetti 62fe0ed5eb docs: renommer fichiers EN→FR pour cohérence linguistique
Entités:
- entities-overview.md → vue-ensemble.md

États (Lifecycles):
- user-account-lifecycle.md → compte-utilisateur.md
- content-lifecycle.md → contenu.md
- session-lifecycle.md → session.md
- report-lifecycle.md → signalement.md
- export-lifecycle.md → export-donnees.md
- parental-consent-lifecycle.md → consentement-parental.md
- account-deletion-lifecycle.md → suppression-compte.md
- breach-incident-lifecycle.md → incident-breach.md

Séquences:
- authentication-flow.md → authentification.md
- token-refresh.md → refresh-token.md (terme technique conservé)
- content-moderation.md → moderation-contenu.md
- content-report.md → signalement.md
2026-02-08 18:17:48 +01:00

961 B

Séquence - Refresh Token

Diagramme

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