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

Filament Passkeys Laravel Package

robertboes/filament-passkeys

Filament Passkeys adds passwordless WebAuthn passkey login to Filament panels. Users register and sign in with biometrics or hardware security keys, and manage their own passkeys. Simple setup, configurable, and fully integrated with Filament's authentication flow.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. robertboes/filament-passkeys is a Filament panel plugin, not a general Laravel auth package. It slots into the PanelProvider registration model that Filament- based admin panels already use, and it will almost certainly publish a migration, a config file, and a small set of Livewire views/actions (login button, passkey management page). For a team already standardized on Filament + Laravel, the architectural impedance is near zero: no new runtime, no new service, no queue or external dependency. For a team not on Filament, this package is not usable at all — it is a UI-layer wrapper, so the real evaluation must be on the underlying WebAuthn library it wraps, not this repo.

Integration feasibility. Basic integration is genuinely small: composer require, register the plugin in the panel provider, publish and run the migration, set Relying Party ID/origin config, and expose the passkey action on the login page. Realistic spike: 1–2 days for a developer familiar with Filament. The work is not the install — it is the surrounding policy: whether passkeys are an alternative first factor, a second factor, or a passwordless primary; how account recovery works when a device is lost; and how this interacts with any existing 2FA/MFA package. Those decisions dominate the effort and are not solved by the plugin.

Technical risk. This is the dominant concern, and the score of ~15/100 reflects it accurately. Three GitHub stars, zero dependents, and a single maintainer mean effectively no peer review, no downstream battle-testing, and no ecosystem pressure to fix edge cases. For authentication code that is a material risk: WebAuthn is subtle (challenge lifecycle, origin/RP ID validation, signature counter handling, user verification flags), and errors tend to fail closed in confusing ways or, worse, fail open silently. The "last release 2026-08-02" timestamp should be verified — a future-dated or anomalous release record is a housekeeping red flag and may indicate unreliable tagging. There is also a hard coupling risk to Filament major versions (v3 vs v4) and to whichever WebAuthn library powers it; if that underlying dependency is abandoned, this plugin dies with it.

Key questions for the maintainer / spike.

  • Which WebAuthn library does this delegate to, at what version, and who maintains that?
  • Filament v3 only, or v4-compatible? Laravel 11/12? PHP 8.2+?
  • Passwordless primary, step-up second factor, or both? Are conditional UI / autofill ("passkey" in the username field) supported?
  • What is the attestation verification policy (none vs. metadata service)? Does it validate origin and RP ID strictly?
  • How are credentials keyed — default guard/user model only, or arbitrary authenticatable models and multiple panels?
  • Is there a recovery path, and can passkeys be revoked per-device by an admin?
  • Test coverage, security disclosure policy, and license?

Integration Approach

Stack fit. Target: Laravel 10–12, PHP 8.2+, Filament 3/4, HTTPS-only environment with a stable registrable domain. Two non-negotiables: (1) the RP ID must be a real, stable domain — localhost works for dev but staging on ephemeral preview hostnames will not; (2) the panel must be served over TLS. If the admin panel is on a subdomain, confirm the RP ID is set to the registrable domain, not the host.

Migration path. Purely additive. Expect one new credentials table (likely passkeys / webauthn_credentials) plus optional columns or a config-published file; no destructive changes to users. Rollback is clean: disable the plugin and its login affordance, leave the table in place. No backfill, no data transformation, no downtime. This is the package's strongest property from a delivery-risk standpoint — it can be trialed and reverted with negligible blast radius.

Compatibility. Verify the browser/authenticator matrix explicitly rather than assuming: platform authenticators (Touch ID / Windows Hello / Android biometrics), roaming security keys, and cross-device/synced passkeys (iCloud Keychain, Google Password Manager). Safari/iOS behavior around synced passkeys and conditional mediation is the usual gap. Also confirm behavior for users on managed devices where platform authenticators are disabled by policy — there must be a visible password fallback.

Sequencing.

  1. Spike (1–2 days): install in a throwaway branch, run the migration, register a passkey on a real device against a real domain, log in, log out, revoke.
  2. Security read-through (1 day): read the plugin's challenge/verification path and its underlying library; confirm origin and RP ID checks are not bypassable.
  3. Internal pilot behind a feature flag: opt-in enrollment for engineering only; keep password login fully intact.
  4. Stakeholder decision gate: adopt as-is, fork-and-vendor, or replace with a direct integration on the underlying WebAuthn library.
  5. Broad rollout: only after a recovery runbook exists and helpdesk is briefed.

Operational Impact

Maintenance. Assume you will own this code. With one maintainer and zero dependents, plan for one of two postures: pin and monitor (composer version constraint, watch upstream for six months, accept drift) or fork and vendor (take the ~small surface area in-house, own the Filament view layer, keep the WebAuthn library upstream). Budget roughly 1–2 engineer-days per quarter for either posture, plus a re-evaluation on every Filament major release. The WebAuthn landscape is still moving (Related Origin Requests, synced passkey semantics, evolving browser UX), so "stable and forgotten" is not a realistic end state for auth code.

Support. The operational cost concentrates in account recovery, not in the happy path. Users will not understand the distinction between a device-bound passkey and a synced one; "I got a new phone" and "I wiped my laptop" become helpdesk tickets. You need a documented fallback (password reset or admin-initiated credential removal) and a way for support staff to see and revoke a user's registered credentials. Enrollment messaging matters more than the code.

Scaling. Effectively free. Verification is public-key crypto on the request path — no external API call, no per-auth cost, no meaningful CPU or latency impact. Storage is one row per credential per user, trivial in volume. The only scaling-adjacent concern is if attestation metadata verification pulls in an external metadata service; if it does, that becomes a third-party availability dependency on the login path.

Failure modes to plan for.

  • RP ID / origin mismatch — the classic silent failure: enrollment appears to succeed, login never validates. Catch this in staging.
  • Lockout — if passkeys are ever made the sole factor, a lost device means a locked-out user. Do not disable password login in v1.
  • No authenticator available — corporate-managed devices with biometrics disabled; the login page must degrade gracefully.
  • Autofill/conditional UI conflicts — passkey prompts colliding with password-manager autofill on the same field.
  • Upstream abandonment or a Filament breaking change — plugin stops loading after an upgrade; mitigated by pinning and a vendor plan.
  • Anomalous release metadata — validate the published version/tag actually corresponds to the source tree before trusting it.

Ramp-up. Low for a competent Laravel/Filament developer: half a day to understand the plugin, plus the WebAuthn reading required to review it responsibly. The scarce skill is not Filament — it is someone able to sanity-check the WebAuthn verification path. If nobody on the team can do that review, treat the package as unvetted and either bring in a reviewer or defer.

TPM recommendation. Viable as a low-risk, opt-in additional authentication method for an internal or low-blast-radius Filament panel, where the additive migration and clean rollback make the downside small. Not appropriate as the primary or sole authentication factor for a customer-facing surface in its current state — the adoption signal, maintainer concentration, and security-critical domain together mean the correct move is a fork-and-own strategy, or a direct integration on the underlying WebAuthn library with Filament views written in-house. Treat the plugin as a reference implementation and a fast spike, not as a dependency you inherit blindly.

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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator