Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
2Fa Webauthn

2Fa Webauthn Laravel Package

jbtronics/2fa-webauthn

Adds WebAuthn-based two-factor authentication to Laravel apps, letting users secure accounts with hardware security keys, passkeys, or built-in biometrics. Includes enrollment, verification, and integration with Laravel's auth scaffolding.

View on GitHub
Deep Wiki
Context7

Webauthn Two-Factor-Authentication Plugin for scheb/2fa

Frequently asked questions about 2Fa Webauthn
What is jbtronics/2fa-webauthn used for?
It adds WebAuthn-based two-factor authentication so users can confirm logins with hardware security keys, platform authenticators, passkeys, or built-in biometrics. It is intended to register WebAuthn as a second factor alongside existing TOTP methods through the 2fa ecosystem. The package includes enrollment, verification, and browser-side credential ceremony helpers. However, the technical assessment notes that it is Symfony-first in practice, implementing TwoFactorProviderInterface for scheb/2fa-bundle.
Does jbtronics/2fa-webauthn work with Laravel?
The overview frames it as a Laravel package, but the technical evaluation says it remains a Symfony-first plugin wired to scheb/2fa-bundle and Symfony Security. For a Laravel application, adopting it as-is would require a bespoke bridge and would drag in Symfony dependencies. The realistic Laravel path is to use web-auth/webauthn-lib directly behind a Laravel-native TwoFactorMethod contract, treating this package as a reference implementation.
How do I install and configure jbtronics/2fa-webauthn?
Install it with Composer using jbtronics/2fa-webauthn, then configure relying party settings such as RP ID, origin, and user verification requirements. You also need to wire the provider into your authentication flow and expose the Blade and JavaScript helpers for browser-side credential ceremonies. In a Symfony context this means integrating with scheb/2fa-bundle; in Laravel you should expect to build the provider bridge yourself.
Which Laravel versions are supported by this package?
The supplied description and README excerpt do not state explicit Laravel version support. The technical assessment instead describes the package as Symfony-first, built around scheb/2fa-bundle, web-auth/webauthn-lib, and Symfony Security. Before adopting, check composer.json for supported framework and dependency majors, and verify the stated support window for scheb/2fa and web-auth/webauthn-lib.
How does WebAuthn 2FA differ from TOTP one-time codes?
WebAuthn uses public-key credentials bound to a relying party, so it is phishing-resistant and does not rely on a shared secret or typed code. Users can authenticate with FIDO2/CTAP2 hardware keys, platform authenticators, passkeys, or biometrics. Because this package integrates with the 2fa ecosystem, WebAuthn can be offered alongside existing TOTP methods rather than replacing them outright.
What changed in jbtronics/2fa-webauthn v3.03 and is it breaking?
v3.03 removes Ed256 and Ed512 support from the COSE algorithm allowlist, following an upstream cose-lib behavior change around non-standard algorithm IDs. Any existing credential enrolled under those IDs will fail assertion verification after upgrade, with no migration path described. The maintainer says it should not cause backward-compatibility issues, but teams should verify that claim against their own credential table. The tag also appears as v3.03 rather than v3.0.3, which Composer likely normalizes to 3.3.0.
Is jbtronics/2fa-webauthn safe for production authentication?
The technical assessment rates technical risk as medium-to-high because this is a thin wrapper over a fast-moving crypto library, with a single maintainer, low stars, and few dependents. The security-sensitive surface includes credential storage, challenge and nonce lifecycle, RP ID and origin validation, and user-handle binding, and v3.03 touches attestation algorithm policy. The MIT license is the main mitigant because it permits forking. Treat it as code in the login path and review upstream dependency behavior before deploying.
How should I test WebAuthn enrollment and login with this package?
Test both the enrollment ceremony and the assertion ceremony in real browsers using platform authenticators, hardware security keys, or virtual authenticators. Verify RP ID and origin validation, challenge and nonce lifecycle, credential storage, and user-handle binding. The package provides Blade and JavaScript helpers for browser-side ceremonies, so include those flows in end-to-end tests. Also test upgrade behavior against any credentials already stored in your database.
What are alternatives to jbtronics/2fa-webauthn for Laravel?
The most realistic alternative is to use web-auth/webauthn-lib directly behind a Laravel-native TwoFactorMethod or similar contract. That avoids the scheb/2fa-bundle and Symfony Security coupling while still using the same underlying WebAuthn cryptography. For Symfony applications, using scheb/2fa-bundle with this package as the WebAuthn provider is the more natural fit. The technical assessment explicitly names web-auth/webauthn-lib as the reusable asset.
How is jbtronics/2fa-webauthn maintained and what should I check before adopting it?
It is a low-star, few-dependent package with a single maintainer, and the assessment flags release hygiene concerns such as the v3.03 version tag and an unreconciled future-dated release. Check the tag history directly, confirm the pinned cose-lib version, and identify which scheb/2fa and web-auth/webauthn-lib majors are supported. Also verify whether any enrolled credentials use Ed256 or Ed512 and decide on re-enrollment or admin reset remediation before upgrading.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core