- 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
43 lines
1.1 KiB
Markdown
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
|