mulertech/passkey-bundle
mulertech/passkey-bundle adds passwordless passkey authentication to Laravel and PHP applications. It handles WebAuthn registration and login flows, letting users sign in with device biometrics or security keys for faster, phishing-resistant access and simpler integration.
wire:navigate, and morphing equivalents) the module was already in the browser's module map and never re-evaluated — new buttons were bound to nothing. Clicks did nothing, with no error surfaced anywhere. A single delegated listener on document now resolves the clicked button and container. Practically: you do not need to schedule a JS refactor, add per-page re-initialization hooks, or exclude passkey pages from your SPA-style navigation to ship this. If your app is Hotwire/Livewire/Inertia with partial reloads, this is the release that makes the package safe to ship there.composer update. It can ride along with routine maintenance rather than needing its own release slot, which makes "adopt now" cheaper than "adopt next quarter."Consider it when all of the following hold:
wire:navigate, morphing/partial reloads). v2.0.1 is the version that makes this combination viable; on v2.0.0 this pattern produced silent, unreportable click failures.Look elsewhere when:
Adoption caveat worth carrying into QA: the defect this release fixes failed silently — no console error, no thrown exception, just an inert button. That is the failure mode this whole class of integration is prone to. Whatever the release notes say, add an explicit smoke test to your own acceptance criteria: navigate to the passkey screen via your SPA-style route transition (not a hard reload), then click. A green integration here is not self-evident from the absence of errors.
For executives: This is a small, low-risk increment on our authentication roadmap that moves us toward phishing-resistant sign-in — the credential type that removes shared secrets from the login flow entirely — and reduces the password-reset load that drives a meaningful share of support tickets. We are buying the protocol-level implementation rather than building it, so the cost is integration and product design, not WebAuthn expertise. The v2.0.1 patch carries no configuration change and no migration: it is a routine dependency update. It also removes a real blocker — the previous version's passkey buttons failed silently on the navigation pattern our front end already uses, which would have looked like a mysterious "the button doesn't work" bug in production and cost us a debugging cycle to even diagnose. That specific risk is now closed, and it closed without asking anything of our front-end architecture.
For engineering: v2.0.1 replaces per-node listener binding with a single delegated listener on document that resolves the clicked button and its container, so the ceremonies survive whatever replaces the markup — Turbo, Livewire navigate, and morphing equivalents. The root cause was the module being cached in the browser's module map after first evaluation: subsequent navigations swapped the DOM, the module never re-ran, and the new buttons had no handlers. Fix is confined to the asset; upgrade is composer update with no config changes. Please still add a post-navigation click smoke test in our own harness — the original failure emitted no error, so our test coverage, not the package, is what will catch a regression of this shape.
How can I help you explore Laravel packages today?