tfsthiagobr98/filament-2fa

A 2FA plugin for filament.
6,043 1
Install
composer require tfsthiagobr98/filament-2fa
Latest Version:2.1.1
PHP:^8.3
License:MIT
Last Updated:Mar 20, 2025
Links: GitHub  ·  Packagist
Maintainer: tfsthiagobr98

Filament 2FA Plugin

A Two Factor Authentication plugin for Filament

Installation

  1. Install the package via composer (requires filament >= 2.10.40)
composer require tfsthiagobr98/filament-2fa
  1. Publish assets and run migrations
php artisan vendor:publish --tag="filament-2fa-migrations"
php artisan migrate

Optionally, you can publish config or views:

php artisan vendor:publish --tag="filament-2fa-config"
php artisan vendor:publish --tag="filament-2fa-views"
  1. Add \TFSThiagoBR98\FilamentTwoFactor\TwoFactorAuthenticatable trait to your user model.

  2. Update the config/filament.php to point to the Two Factor Login::class.

"auth" => [
    "guard" => env("FILAMENT_AUTH_GUARD", "web"),
    "pages" => [
        "login" =>
            \TFSThiagoBR98\FilamentTwoFactor\Http\Livewire\Auth\Login::class,
    ],
],

Integrate With Custom Profile Page

This package has a component for two-factor setup that can be easily added to a profile page, like the one for filament-jetstream-theme.

Create a view with the <livewire:filament-two-factor-form> component like the example below:

// resources/views/partials/2fa-section.blade.php
<hr />

<x-filament-jetstream::grid-section class="mt-8">
    <x-slot name="title">
        {{ __('filament-2fa::two-factor.title') }}
    </x-slot>

    <x-slot name="description">
        {{ __('filament-2fa::two-factor.description') }}
    </x-slot>

    <div class="space-y-3">
        <x-filament::card>
            <livewire:filament-two-factor-form>
        </x-filament::card>
    </div>
</x-filament-jetstream::grid-section>

Then add the view to your profile page using render hook:

## in Service Provider file
public function boot()
{
    Filament::registerRenderHook(
        'filament-jetstream.profile-page.end',
        fn (): View => view('partials.2fa-section'),
    );
}

Screenshots

Two Factor Page Confirm Password Finishing enable Recovery codes Enabled Challenge Breezy

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

Version History

Version Released PHP License
2.1.1 ^8.3 MIT
2.1.0 ^8.3 MIT
2.0.0 ^8.2 MIT
1.0.0 ^8.0 MIT