- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports) - États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export) - Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression) - Renommage: modele-global.md → entities-overview.md - MkDocs: organisation hiérarchique par catégories Format concis: diagrammes Mermaid + règles essentielles uniquement
1.1 KiB
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