Files
roadwave/docs/domains/_shared/sequences/authentification.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

1.1 KiB

Séquence - Authentification

Diagramme

sequenceDiagram
    participant U as Utilisateur
    participant A as App Mobile
    participant Z as Zitadel
    participant API as Backend API
    participant DB as PostgreSQL

    U->>A: Saisie email/password
    A->>Z: POST /oauth/token (email, password)
    Z->>Z: Validation credentials
    Z-->>A: access_token (15min) + refresh_token (30j)

    A->>API: GET /api/user/profile (Bearer token)
    API->>Z: Validation JWT
    Z-->>API: Token valide + user_id
    API->>DB: SELECT user WHERE id = ?
    DB-->>API: Données utilisateur
    API-->>A: Profil utilisateur

    A->>DB: INSERT session (hash tokens, IP, device)
    A->>U: Connexion réussie

Légende

Acteurs :

  • Zitadel : Gère l'authentification OAuth2/OIDC
  • Backend API : Valide les tokens et accède aux données

Tokens :

  • Access token : 15 min (JWT), utilisé pour chaque requête API
  • Refresh token : 30 jours, permet renouvellement access token

Sécurité :

  • Tokens stockés hashés (SHA256) en DB
  • Device fingerprinting (OS, navigateur, IP)
  • Notification si nouveau device