Authentification, médias et journaux
Fonctionnement
Section intitulée « Fonctionnement »Authentification
Section intitulée « Authentification »- Administrateur : mot de passe, plus un code à usage temporaire (second facteur) une fois l’administrateur inscrit. Rien n’impose l’inscription. La connexion est limitée à 5 tentatives par minute.
- Courtier et client : un lien de connexion envoyé par email (lien magique), signé et valable 30 minutes, 24 heures pour un lien de bienvenue. Un courtier peut aussi définir un mot de passe via une invitation.
- Assistants IA : connexion OAuth 2. Le rôle est déduit du compte : administrateur, courtier actif ou client.
- Aucun jeton d’accès de l’ancien système n’est émis. Il est installé mais jamais utilisé, et la documentation d’interface générée le décrit encore.
Pourquoi : un lien de connexion signé restait rejouable jusqu’à son expiration. Le système garde donc sa signature en mémoire jusqu’à l’expiration plus une minute et refuse une seconde utilisation.
Médias privés, journal d’activité, journal des emails
Section intitulée « Médias privés, journal d’activité, journal des emails »- Les fichiers sensibles (certificats et documents de police, pièces jointes des demandes, documents de courtier, conventions) sont stockés dans un espace privé. Seuls des écrans autorisés les servent. L’espace par défaut de la bibliothèque de fichiers reste public : un nouveau type de fichier doit choisir explicitement l’espace privé. Une commande migre les anciens fichiers.
- Le journal d’activité garde la trace des changements de données modifiables. Les changements de statut forcés et les appels des assistants IA sont audités à part.
- Chaque email sortant est enregistré, une ligne par destinataire, avec un statut : en cours d’envoi, envoyé, rejeté, délivré ou échoué. La page « Emails » de l’administration le lit. Les corps sont vidés après 24 mois (chaque jour à 03:30).
Pourquoi : les contrats et documents clients étaient accessibles par adresse directe dans l’espace public. Ils sont passés dans l’espace privé, derrière un écran qui autorise l’accès.
Pourquoi : le service d’envoi écartait la réponse du fournisseur et l’outil de suivi filtre les emails hors développement, donc rien ne montrait ce qu’un client avait reçu.
Règles et pièges
Section intitulée « Règles et pièges »- Liens à usage unique : un double clic ou un scanner de liens d’email peut consommer le lien, et un vidage de la mémoire réactive les liens non expirés.
- L’envoi d’un lien magique ne révèle jamais si une adresse existe.
Le catalogue des emails (qui reçoit quoi et quand) est sur la page Emails. Ici : seulement ce qui touche à l’authentification (liens magiques) et au journal.
Où dans le code
Section intitulée « Où dans le code »app/Services/MagicLinkService.php,app/Services/EmailLog/EmailLogRecorder.phpapp/Support/PrivateMediaResponse.php
Questions ouvertes
Section intitulée « Questions ouvertes »- L’équipe ne reçoit aucune alerte quand une demande passe en revue manuelle. Le compteur du pipeline suffit-il ?