stanfortonski/laravel-twofactor

为 Laravel 7.x 和 8.x 提供电子邮件双因素认证。

v1.0.2 2021-03-15 11:48 UTC

This package is auto-updated.

Last update: 2024-09-15 19:34:25 UTC


README

为 Laravel 7.x 和 8.x 提供电子邮件双因素认证的包。

信息

此包提供了一组中间件、视图、迁移、路由以及控制器、翻译和用户模型的方法,允许您通过电子邮件为您的应用程序设置双因素认证。

安装

  1. 首先使用 Composer 安装此包。运行 composer require stanfortonski/laravel-twofactor
  2. 设置提供者。在 config/app.php 文件的末尾添加以下代码:
'providers' => [
    //...
    Stanfortonski\Laraveltwofactor\ServiceProvider::class
],
  1. 设置中间件。在 app/Http/Kernel.php 文件的末尾添加以下代码:
protected $routeMiddleware = [
    //...
    'twofactor' => \Stanfortonski\Laraveltwofactor\Middleware\TwoFactor::class
];
  1. 在 User 类中使用 \Stanfortonski\Laraveltwofactor\Traits\TwoFactorable 特性以及 \Illuminate\Notifications\Notifiable。示例:use Notifiable, TwoFactorable;
  2. 必须发布配置文件 twofactor.php。运行命令:php artisan vendor:publish --provider="Stanfortonski\Laraveltwofactor\ServiceProvider"
  3. 运行 php artisan migrate
  4. 在登录过程中添加行 $user->startTwoFactor()。例如,在 Laravel/ui 中,在 Auth\LoginController@authenticated 方法中添加此行,在重定向之前。
  5. 在 .env 文件中设置您的电子邮件。

配置

在 config/twofactor.php 中

  1. 如果您想禁用 twofactor/preferences 路由,请将 preferences.allow 设置为 false。
  2. 如果您想更改双因素代码的过期时间,请更改 expire_duration。默认值为 15 分钟。
  3. 查看 routes.login、routes.successful 和 routes.return,这些必须是您应用程序中的实际路由名称。更多详情请查看文件本身。

使用方法

您必须在路由中设置 twofactor 中间件。具体方法取决于您。

示例

    Route::get('/home', function(){
        return view('home');
    })->middleware(['auth', 'twofactor']);