🔐 filament-passkeys v1.5.0 is out: passkeys that work across domains.
If your Filament panel lives on more than one domain (say your SaaS at app.yourproduct.com and a customer’s own shop.customer.com), passkeys used to break: a passkey is bound to one domain.
v1.5.0 adds WebAuthn Related Origin Requests support:
✅ Opt-in /.well-known/webauthn route served by the package
✅ Per-tenant friendly: return different origins per host
✅ Browser fallback: where Related Origins isn’t supported, the passkey button steps aside and users pick another 2FA method instead of hitting a cryptic error
✅ Built-in limit matching what browsers honour (5), throwing loudly instead of silently truncating
💡 Real-world use case: moving to a new domain
Rebranding from oldbrand.com to newbrand.com? Normally every user’s passkey dies with the old domain and they all have to re-enroll.
With v1.5.0:
Keep the relying party ID as oldbrand.com
Add https://newbrand.com to related origins
Keep oldbrand.com serving /.well-known/webauthn (the package does it for you)
Users sign in on newbrand.com with the passkeys they already have. No re-enrollment, no support tickets, no “why doesn’t Face ID work anymore?”. 🎉
Also new:
🔁 “Remember me” now works with passwordless passkey login
🛡️ Rate limiting on login options
Fully backward compatible: no config, no change.
Filament 4 & 5 · Laravel 12 & 13 · built on laravel/passkeys
👉 https://github.com/happenv-com/filament-passkeys
#FilamentPHP #Laravel #Passkeys #WebAuthn #PHP
GitHubGitHub - happenv-com/filament-passkeys: Filament 5 multi-factor authentication via WebAuthn passkeys, powered by laravel/passkeys.Filament 5 multi-factor authentication via WebAuthn passkeys, powered by laravel/passkeys. - happenv-com/filament-passkeys
commit 2149a49