Hash, Encryption, Auth) and Filament’s widget system, reducing architectural friction.two_factor_backups, passkey_credentials tables), which can be scaffolded via migrations.LoginController, Fortify/Breeze).composer require lunarphp/filament3-2fa
php artisan vendor:publish --provider="Lunar\Filament2FA\Filament2FAServiceProvider"
php artisan migrate
config/filament2fa.php) to customize:
app/Providers/Filament/AdminPanelProvider.php:
public function panel(Panel $panel): Panel
{
return $panel
->widgets([
\Lunar\Filament2FA\Widgets\TwoFactorAuthenticationWidget::class,
]);
}
spatie/laravel-permission). Test in isolation.Laravel Sanctum), adapt middleware to redirect to Filament’s 2FA flow.WebAuthn credential ID).PublicKeyCredential responses.two_factor_backups, passkey_credentials) are small; no scaling concerns.throttle middleware for 2FA endpoints to prevent abuse.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Passkey enrollment fails | Users stuck without 2FA | Fallback to TOTP; log errors for debugging. |
| TOTP secret loss | User locked out | Backup codes + admin recovery flow. |
| Database corruption | 2FA state lost | Regular backups; use transactions for writes. |
| WebAuthn server misconfig | Passkeys rejected | Validate WebAuthn config with webauthn.io. |
| High 2FA failure rates | User frustration | Rate-limiting + CAPTCHA for repeated failures. |
How can I help you explore Laravel packages today?