vormkracht10/filament-2fa
Adds two-factor authentication to Filament panels. Users can enable TOTP with authenticator apps via QR code and use recovery codes. Includes a profile page and middleware to enforce 2FA for admin access.
Baseline assessment (no prior review). Package: filament-2fa, a Filament plugin that adds TOTP-based two-factor authentication to Laravel admin panels. v3.0.0 is a major release driven primarily by a repository transfer to the Backstage organization.
Architecture fit: Plugin-style integration typical of the Filament ecosystem — service provider, panel registration, publishable config/views/translations, and Laravel-native auth hooks. Fits Laravel/Filament monoliths and modular monoliths with session-based admin auth. Not relevant to API-only or headless services.
Integration feasibility: Low code footprint; Composer install plus panel provider registration. The breaking change — namespace moved to Backstage — is mechanically simple but touches every reference: application code, published views/config, custom subclasses or overrides, and cached artifacts. Release notes state only the namespace change; the Composer package/vendor name may also have moved (baspa/* → backstage/*), which must be confirmed before upgrade.
Technical risk: Medium. This is an auth-critical path: failure modes range from boot-time class-not-found to login lockout or silent 2FA bypass. The namespace break is easy to partially apply in repos with published/stale files. The included fix for an infinite redirect loop when the panel path is the base URL indicates routing edge cases worth targeted regression testing. The repo transfer adds a governance/supply-chain question — old package name disposition, Packagist metadata, and where security advisories now land.
Key questions:
Stack fit: Laravel 10/11/12 with Filament v3 (confirm v4 support) on session-guarded admin panels. Strong fit for internal back-office and admin surfaces where 2FA is a compliance or security requirement.
Migration path:
v2.1.0 in production; treat the upgrade as a deliberate, standalone change./) against the redirect-loop regression.Compatibility: Run composer why-not after the bump to catch version conflicts; check whether any first-party package or internal module still references the old namespace. If the Composer name changed, update lockfile, CI caches, and any private mirror/allowlist, and audit for duplicate installs.
Sequencing: Ship the namespace migration and version bump as a single isolated PR. Do not bundle with unrelated dependency upgrades. Follow with a separate deploy-verification step that includes a real 2FA login with a test admin account.
Maintenance: Low steady-state effort — small plugin, active maintenance, recent bug fixes and translations. The organization transfer means a new repo home and possibly relocated docs/support; track whether the old vendor is formally deprecated on Packagist. Assign an internal owner because this dependency sits on the authentication path.
Support: Post-transfer, confirm the security disclosure process and issue tracker before relying on v3. The release shows multiple first-time contributors, a positive bus-factor signal, but review velocity and long-term maintainer commitment are unproven under the new org.
Scaling: Negligible runtime and infrastructure cost. TOTP verification is cheap and stateless relative to request volume; no meaningful scaling concerns at typical admin-panel traffic levels.
Failure modes:
Ramp-up: Low for a Filament-fluent engineer — a few hours to integrate. Budget roughly half a day for the v3 migration plus regression testing given auth criticality, and ensure the on-call runbook covers 2FA reset and rollback before rollout.
How can I help you explore Laravel packages today?