Plugins
Email 2FA
This package seamlessly integrates two-factor authentication (2FA) into your application using email verification codes. Enhance the security of your user accounts and protect sensitive data.
Developer Tool
Panel Authorization
Panel Authentication
Dark theme support
No
Multi language support
No
Compatible with the latest version
Supported versions: 3.x
Documentation

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

#Secure Your Filament Applications with Email-Based 2FA

This package seamlessly integrates two-factor authentication (2FA) into your Filament PHP applications using email verification codes. Enhance the security of your user accounts and protect sensitive data.

image

#Key Features:

  • Easy Integration: Quickly add 2FA to your Filament projects with minimal configuration.
  • Email Verification: Users receive time-sensitive codes via email for secure login.
  • Customizable: Tailor the 2FA experience with configurable options (e.g., code expiry time).
  • Seamless User Experience: Provides a user-friendly interface for setting up and using 2FA.

#How it Works:

  • Upon successful login, users are prompted to enter a verification code sent to their email address.
  • The package handles code generation, email delivery, and verification logic.
  • Once verified, users gain access to the protected Filament panel.

#Ideal For:

Filament applications handling sensitive user data. Projects requiring an extra layer of account security. Developers seeking a straightforward 2FA solution.

#Installation

You can install the package via composer:

composer require solution-forest/filament-email-2fa

You can publish and run the migrations with:

php artisan vendor:publish --tag="filament-email-2fa-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="filament-email-2fa-config"

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-email-2fa-views"

This is the contents of the published config file:

return [
'code_table' => 'filament_email_2fa_codes',
'verify_table' => 'filament_email_2fa_verify',
 
'code_model' => \Solutionforest\FilamentEmail2fa\Models\TwoFaCode::class,
'verify_model' => \Solutionforest\FilamentEmail2fa\Models\TwoFaVerify::class,
 
'expiry_time_by_mins' => 10,
 
'2fa_page' => \Solutionforest\FilamentEmail2fa\Pages\TwoFactorAuth::class,
'login_success_page' => \Solutionforest\FilamentEmail2fa\Pages\LoginSuccessPage::class,
];

#Adding the plugin to a panel

use Solutionforest\FilamentEmail2fa\FilamentEmail2faPlugin;
 
return $panel
// ...
->plugin(FilamentEmail2faPlugin::make());

#Preparing your filament user class

Implement the 'RequireTwoFALogin' interface and use the 'HasTwoFALogin' trait

use Solutionforest\FilamentEmail2fa\Interfaces\RequireTwoFALogin;
use Solutionforest\FilamentEmail2fa\Trait\HasTwoFALogin;
 
class FilamentUser extends Authenticatable implements FilamentUserContract,RequireTwoFALogin{
use HasTwoFALogin;
}
Featured Plugins