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 Passwordless Laravel Package

bradyrenting/filament-passwordless

Passwordless authentication for Filament panels. Let users sign in with secure email magic links or one-time codes instead of passwords, reducing friction and login security risks. Laravel-native, easy to install, and designed to integrate with existing Filament auth flows.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. bradyrenting/filament-passwordless slots into a well-defined seam in the TALL stack: Filament exposes panel authentication through configurable guards and overridable auth pages, so a passwordless package can replace or augment the login page without forking the panel itself. That is architecturally cheap — it is an additive Composer dependency plus a plugin registration in the PanelProvider, not a re-platforming. Expect it to sit alongside, not replace, Laravel's session guard, which means the blast radius is limited to the authentication entry point rather than the whole authorization model.

Integration feasibility. Low-to-moderate effort for a team already on Filament. The realistic work is not "install the package" but "harden the surrounding flow": mail transport and deliverability, token lifetime and single-use semantics, rate limiting on the request-link endpoint, and a fallback path when mail is unavailable. Most of that is standard Laravel work (notifications, throttle middleware, signed URLs), so the integration is not exotic. The unknown is Filament major-version coupling — Filament's auth internals have moved between v3 and v4, and this package's supported matrix must be confirmed before we commit.

Technical risk. The dominant risk is not code quality, it is concentration. 26 stars, a single maintainer, and a security-sensitive surface (authentication) is a combination that requires us to treat the package as code we own. A defect here is an account-takeover defect, not a cosmetic bug. Specific concerns to validate in review:

  • Token generation, storage, and comparison (hashed at rest? constant-time comparison? single-use and short TTL?).
  • User enumeration behavior on the request-link endpoint (uniform responses and timing).
  • Throttling and lockout on both request and consume paths.
  • Whether links are bound to session/browser, and whether they survive proxy/CDN rewriting of the host.
  • Audit logging hooks — do we get auth events into our existing log/monitoring pipeline?
  • Test coverage and CI signal in the repository; presence of a security disclosure policy.

A secondary risk is roadmap drift: a solo-maintained package tracking a fast-moving framework can go stale quietly, and auth is the worst place to discover unmaintained code.

Key questions.

  1. Which Filament major versions (and Laravel/PHP floors) are supported today, and what is the stated upgrade policy?
  2. Magic link, OTP, or both — and can we choose per panel?
  3. Does it support multiple panels and non-default guards, or is it hardcoded to the default web guard?
  4. Can it coexist with password login, remember-me, and 2FA during a transition period?
  5. How are tokens persisted and invalidated (DB table? cache? signed URL with no revocation)?
  6. Are invitation/self-registration flows in scope, or existing-users-only?
  7. What is the release cadence and does the 2026-06-16 release correspond to a real, reviewed changeset?
  8. Is there a documented security contact and a history of responsive fixes?

Integration Approach

Stack fit. Natural fit for a Laravel + Filament monolith. It requires no new runtime, no new datastore beyond what the package migrates, and no changes to the authorization layer (FilamentUser, policies, tenancy) — those continue to gate access after authentication succeeds. Teams already sending transactional mail (SES, Postmark, Resend) have the only hard external dependency already satisfied.

Migration path. Do not cut over in one step. Recommended sequence:

  1. Prove in a branch environment. Install behind a feature flag; verify the full request → mail → consume → session loop with a sandbox mailer and a real inbox on a non-production domain.
  2. Security review gate. Internal read of the token path and throttle behavior; confirm TTLs and single-use semantics match our standard. This is a merge blocker, not a nice-to-have.
  3. Pilot cohort. Enable for a small internal admin group with password login still visible. Instrument success rate, time-to-login, and mail delivery latency.
  4. Default-on with fallback retained. Make passwordless the primary path but keep a documented break-glass credential route for at least one full quarter.
  5. Retire fallback only after mail-provider failover has been exercised at least once.

Compatibility and sequencing. Pin the package to an exact version and lock it in composer.json; do not float. Sequence the Filament upgrade and the passwordless adoption as separate changes — bundling a framework major upgrade with an auth change makes rollback ambiguous. If a Filament upgrade is already queued, land it first, then evaluate this package against the new major.

Contingency. Budget for the possibility of vendoring or forking. For an auth-path dependency at this maturity level, the realistic exit is "copy into app/ or a private fork and maintain it," not "swap to a competitor" — so confirm the license (MIT, per metadata) permits that and that the code is small enough to absorb. It almost certainly is.

Operational Impact

Maintenance. Ongoing cost is low in volume but high in criticality: a small surface that must be reviewed every time Filament, Laravel, or PHP bumps a major. With a single maintainer upstream, assume a nonzero probability of adopting maintenance ourselves within 12–24 months. Treat the pinned version as an owned component with a named internal owner, and add it to the dependency-review checklist alongside framework upgrades.

Support. No commercial support, no SLA. Internal support burden falls on whoever owns the admin panel — realistically one or two engineers. Document the flow (where tokens live, how to invalidate them, how to force a password reset) so on-call can act without the original implementer.

Scaling. Authentication volume is trivial relative to typical Filament workloads; the package will not be a bottleneck. The scaling constraint is the mail provider: rate limits, sending quotas, and reputation management become production concerns. For large admin populations, plan for provider-side throttling and a queue for link delivery so a burst of login attempts does not stall synchronously.

Failure modes to plan for:

  • Mail outage or spam-foldering → admins locked out. Mitigation: retained password fallback and a documented break-glass procedure.
  • Token leakage via shared inboxes, forwarded mail, or mail-provider logs. Mitigation: short TTL, single-use enforcement, and binding to the requesting context where supported.
  • Enumeration and abuse of the request endpoint. Mitigation: uniform responses, per-IP and per-account throttling, alerting on request-rate anomalies.
  • Host/proxy mismatch breaking link URLs behind a load balancer or CDN. Mitigation: APP_URL and trusted-proxy configuration validated in staging.
  • Silent breakage on a Filament upgrade → login page errors for all admins. Mitigation: smoke test in CI that asserts the login route renders and a token round-trips.
  • Package abandonment → unpatched auth vulnerability with no upstream fix. Mitigation: fork readiness and a quarterly review of upstream activity.

Ramp-up. Engineer ramp-up is small for anyone fluent in Filament — hours, not weeks — because the integration mirrors existing Laravel notification and middleware patterns. The real ramp-up is organizational: support staff and on-call need to understand a login flow that no longer starts with a password. Budget a short runbook and a note in the incident playbook, and make sure the help-desk script covers "I didn't get the email" as the new most common ticket.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast