solution-forest/filament-email-2fa

filament-email-2fa

1.1.2 2024-06-21 04:09 UTC

This package is not auto-updated.

Last update: 2024-09-13 05:06:54 UTC


README

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

使用基于电子邮件的2FA保护您的Filament应用程序

此包将双因素认证(2FA)无缝集成到您的Filament PHP应用程序中,使用电子邮件验证码。增强用户账户的安全性并保护敏感数据。

image

主要功能

  • 易于集成:快速将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;
}