stanfortonski / laravel-twofactor
为 Laravel 7.x 和 8.x 提供电子邮件双因素认证。
v1.0.2
2021-03-15 11:48 UTC
Requires
- php: >=7.2
README
为 Laravel 7.x 和 8.x 提供电子邮件双因素认证的包。
信息
此包提供了一组中间件、视图、迁移、路由以及控制器、翻译和用户模型的方法,允许您通过电子邮件为您的应用程序设置双因素认证。
安装
- 首先使用 Composer 安装此包。运行
composer require stanfortonski/laravel-twofactor
。 - 设置提供者。在 config/app.php 文件的末尾添加以下代码:
'providers' => [ //... Stanfortonski\Laraveltwofactor\ServiceProvider::class ],
- 设置中间件。在 app/Http/Kernel.php 文件的末尾添加以下代码:
protected $routeMiddleware = [ //... 'twofactor' => \Stanfortonski\Laraveltwofactor\Middleware\TwoFactor::class ];
- 在 User 类中使用 \Stanfortonski\Laraveltwofactor\Traits\TwoFactorable 特性以及 \Illuminate\Notifications\Notifiable。示例:
use Notifiable, TwoFactorable;
- 必须发布配置文件 twofactor.php。运行命令:
php artisan vendor:publish --provider="Stanfortonski\Laraveltwofactor\ServiceProvider"
。 - 运行
php artisan migrate
。 - 在登录过程中添加行
$user->startTwoFactor()
。例如,在 Laravel/ui 中,在 Auth\LoginController@authenticated 方法中添加此行,在重定向之前。 - 在 .env 文件中设置您的电子邮件。
配置
在 config/twofactor.php 中
- 如果您想禁用 twofactor/preferences 路由,请将
preferences.allow
设置为 false。 - 如果您想更改双因素代码的过期时间,请更改
expire_duration
。默认值为 15 分钟。 - 查看 routes.login、routes.successful 和 routes.return,这些必须是您应用程序中的实际路由名称。更多详情请查看文件本身。
使用方法
您必须在路由中设置 twofactor 中间件。具体方法取决于您。
示例
Route::get('/home', function(){ return view('home'); })->middleware(['auth', 'twofactor']);