Lien magique : page de confirmation pour éviter la consommation par les scanners email #38

Closed
opened 2026-05-08 21:47:04 +00:00 by cedricAbonnel · 1 comment
Owner

Problème

Certains clients email (Microsoft Safe Links, antispam, Gmail) font un GET automatique sur tous les liens pour détecter le phishing. Ce comportement consomme le token du lien magique avant que l'utilisateur clique, rendant le lien inutilisable (erreur "Lien déjà utilisé").

Solution

Séparer la validation de la consommation dans public/login/magic.php :

  • GET : vérifie que le token est valide (existe, non expiré, non consommé) et affiche une page de confirmation avec un bouton "Se connecter"
  • POST : consomme le token (marque consumed_at) et ouvre la session

Les scanners email n'effectuent que des GET — le token reste intact jusqu'au clic réel de l'utilisateur.

Fichiers concernés

  • public/login/magic.php

Référence

Voir app/docs/auth-magic-link.md pour la documentation du fonctionnement actuel.

## Problème Certains clients email (Microsoft Safe Links, antispam, Gmail) font un GET automatique sur tous les liens pour détecter le phishing. Ce comportement consomme le token du lien magique avant que l'utilisateur clique, rendant le lien inutilisable (erreur "Lien déjà utilisé"). ## Solution Séparer la validation de la consommation dans `public/login/magic.php` : - **GET** : vérifie que le token est valide (existe, non expiré, non consommé) et affiche une page de confirmation avec un bouton "Se connecter" - **POST** : consomme le token (marque `consumed_at`) et ouvre la session Les scanners email n'effectuent que des GET — le token reste intact jusqu'au clic réel de l'utilisateur. ## Fichiers concernés - `public/login/magic.php` ## Référence Voir `app/docs/auth-magic-link.md` pour la documentation du fonctionnement actuel.
Author
Owner

Ticket migré vers le dépôt Folio : cedricAbonnel/folio#27

Ticket migré vers le dépôt Folio : https://git.abonnel.fr/cedricAbonnel/folio/issues/27
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cedricAbonnel/varlog#38