solution-forest / filament-email-2fa
filament-email-2fa
1.1.2
2024-06-21 04:09 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
使用基于电子邮件的2FA保护您的Filament应用程序
此包将双因素认证(2FA)无缝集成到您的Filament PHP应用程序中,使用电子邮件验证码。增强用户账户的安全性并保护敏感数据。
主要功能
- 易于集成:快速将2FA添加到Filament项目,配置简单。
- 电子邮件验证:用户通过电子邮件接收时间敏感的代码,以实现安全的登录。
- 可定制:使用可配置选项(例如,代码过期时间)定制2FA体验。
- 无缝用户体验:提供用户友好的界面,用于设置和使用2FA。
工作原理
- 登录成功后,用户被提示输入发送到其电子邮件地址的验证码。
- 该包处理代码生成、电子邮件交付和验证逻辑。
- 验证后,用户即可访问受保护的Filament面板。
适用对象
处理敏感用户数据的Filament应用程序。需要额外账户安全层的项目。寻求简单2FA解决方案的开发者。
安装
您可以通过composer安装此包
composer require solution-forest/filament-email-2fa
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="filament-email-2fa-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="filament-email-2fa-config"
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="filament-email-2fa-views"
这是发布配置文件的内容
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, ];
将插件添加到面板
use Solutionforest\FilamentEmail2fa\FilamentEmail2faPlugin; return $panel // ... ->plugin(FilamentEmail2faPlugin::make());
准备您的filament用户类
实现'RequireTwoFALogin'接口并使用'HasTwoFALogin'特质
use Solutionforest\FilamentEmail2fa\Interfaces\RequireTwoFALogin; use Solutionforest\FilamentEmail2fa\Trait\HasTwoFALogin; class FilamentUser extends Authenticatable implements FilamentUserContract,RequireTwoFALogin{ use HasTwoFALogin; }