Files
roadwave/docs/domains/_shared/sequences/authentification.md
jpgiannetti 64d6611147 docs: réorganiser navigation et corriger génération BDD
- Fusionner Architecture Technique et ADR sous section Architecture unique
- Fermer les menus de navigation par défaut (retrait navigation.expand)
- Ajouter features BDD manquantes pour domaine Shared :
  * Authentication (13 features)
  * Profil (3 features)
  * Partage (2 features)
  * Error Handling (4 features)
- Corriger indentation tableaux dans génération Markdown BDD
  (éviter transformation en blocs de code)
- Corriger diagramme séquence authentification
  (API → DB au lieu de App Mobile → DB)
- Supprimer fichiers obsolètes et index manuels
2026-02-08 20:55:30 +01:00

43 lines
1.1 KiB
Markdown

# 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->>DB: INSERT session (hash tokens, IP, device)
DB-->>API: Session créée
API-->>A: Profil utilisateur
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