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
This commit is contained in:
42
docs/domains/_shared/sequences/authentification.md
Normal file
42
docs/domains/_shared/sequences/authentification.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Séquence - Authentification
|
||||
|
||||
## Diagramme
|
||||
|
||||
```mermaid
|
||||
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
|
||||
Reference in New Issue
Block a user