Webauthn-Framework

Laissez vos utilisateurs se connecter avec une clé de sécurité, une empreinte digitale, ou l’appareil qu’ils ont en main. Aucun mot de passe à voler, à hameçonner ou à réemployer.

Le problème qu’il règle

Un mot de passe se devine, fuit depuis un autre site, ou se donne à une fausse page de connexion convaincante. WebAuthn le remplace par une paire de clés : la moitié privée ne quitte jamais l’appareil de l’utilisateur, et la moitié publique ne sert à rien à un attaquant.

Comme le navigateur vérifie l’origine avant de signer quoi que ce soit, un site d’hameçonnage ne peut tout simplement pas obtenir de réponse valable. Cette propriété vient du protocole lui-même, pas de la vigilance de l’utilisateur.

Ce que le framework vous donne

  • Les cérémonies d’enregistrement et d’authentification, côté serveur, conformes à la spécification du W3C.
  • La vérification de l’attestation, pour savoir quel type d’authentificateur a servi, ou décider que cela vous est égal.
  • Un bundle Symfony pour les routes, l’intégration au pare-feu et la gestion des utilisateurs.
  • Un composant Stimulus pour le côté navigateur, de sorte que le front tient en quelques attributs plutôt qu’en un script à écrire.
  • La prise en charge des clés de sécurité FIDO2, des authentificateurs de plateforme et des passkeys.

Pour démarrer

composer require web-auth/webauthn-framework

La documentation couvre tout le chemin, du premier enregistrement à l’interface conditionnelle. Il existe aussi une application de démonstration bâtie avec Symfony, Tailwind et FrankenPHP, si vous préférez lire du code qui tourne.

515 étoiles sur GitHub · licence MIT · testé sur plusieurs navigateurs avec BrowserStack