The Daily Commit · Édition de rubrique La une PHP AI Dev EN DE FR ES

The Php Times

Lectures — Écosystème

Connexion sans mot de passe avec la prise en charge du second facteur Fortify dans Laravel


L’article présente un package Laravel qui ajoute une authentification sans mot de passe via des magic links et des codes à usage unique, avec փոխանցement vers Fortify pour les parcours à deux facteurs.

LARAVEL NEWS, 10 juillet 2026 sélectionné par Charlie

Il vaut le détour si vous travaillez sur l’UX de connexion ou la sécurité, notamment parce que le package cherche à éviter que des scanners de messagerie n’activent les liens à la place de l’utilisateur.

Email Magic Link for Laravel est un package d'authentification sans mot de passe qui permet aux utilisateurs de se connecter via des liens envoyés par e-mail ou des codes à usage unique. Le package fonctionne de manière autonome ou aux côtés de Laravel Fortify et ne nécessite aucune dépendance supplémentaire au-delà du framework lui-même.

Le package résout un problème de sécurité critique des systèmes de magic links traditionnels : les scanners de courrier et les dispositifs de sécurité récupèrent souvent les URL automatiquement avant que les utilisateurs ne les voient, consommant des tokens à usage unique par inadvertance. Email Magic Link résout ce problème en divisant le flux en deux étapes : la requête GET affiche uniquement une page de confirmation, tandis que le token n'est consommé que par un POST explicite provenant de cette page, ce que les scanners ne peuvent pas déclencher. Les tokens et codes ne sont stockés que sous forme de valeurs hachées (HMAC-SHA256 avec clé), jamais en texte clair, avec protection par force brute individuelle par token (5 tentatives maximum par défaut) et consommation sécurisée sans conditions de course.

Quand les utilisateurs ont activé l'authentification à deux facteurs via Fortify, la vérification du magic link ne les authentifie pas automatiquement. Au lieu de cela, ils sont redirigés vers le défi à deux facteurs de Fortify en tant qu'utilisateurs non authentifiés, ce qui empêche les scénarios de contournement. Pour les clients SPA et mobiles, les réponses JSON indiquent si les utilisateurs ont besoin de vérification à deux facteurs ou s'ils sont entièrement authentifiés.

Les développeurs peuvent émettre des liens et des codes de manière programmatique sans les envoyer automatiquement, ce qui permet une livraison personnalisée via SMS, notifications push ou mailables personnalisés via la facade EmailMagicLink. Le package comprend une ResendGuard pour prévenir les abus, avec des délais d'attente échelonnés (30 secondes, 60 secondes, 120 secondes) et une limite glissante de cinq tentatives par heure. Une commande planifiée nettoie automatiquement les tokens expirés quotidiennement.

Le package nécessite PHP 8.4 et Laravel 13, Fortify étant optionnel. L'installation se fait via `composer require pushery/email-magic-link-for-laravel`, suivi de la commande d'installation et des migrations de base de données.

Lire la source originale (en anglais) ↗

Évaluer cet article : 0

Tribune des lecteurs

Pas encore de contributions — lance le débat.

← Écosystème — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Édition écran · Mentions légales · Politique de confidentialité