dododedodonl/laravel-2fa

此包已被弃用,不再维护。未建议替代包。

以最少的设置将双因素认证添加到您的 Laravel 应用程序的简单方法。

0.12 2023-10-16 12:56 UTC

This package is auto-updated.

Last update: 2024-06-25 08:10:05 UTC


README

laravel-2fa

Latest Version on Packagist Total Downloads

安装

步骤 1

使用 composer 安装

composer require dododedodonl/laravel-2fa

步骤 2

发布迁移并运行它。如果迁移不符合您的数据库模式,请修改迁移。

php artisan vendor:publish --tag "laravel-2fa.migrations"
php artisan migrate

步骤 3

配置基于网页的密钥设置(通过启用 php-imagick 扩展),或者使用 artisan 在用户手动未设置密钥时显示错误消息。

登录错误

编辑您的登录表单页面,并在禁用通过网页的密钥设置时添加以下内容以显示正确的错误。

@error('otp_error')
<div class="alert alert-danger" role="alert">{{ $message }}</div>
@enderror

供应商资源

可选地发布配置、迁移或视图

# Some
php artisan vendor:publish --tag "laravel-2fa.config"
php artisan vendor:publish --tag "laravel-2fa.migrations"
php artisan vendor:publish --tag "laravel-2fa.views"

# All
php artisan vendor:publish --provider "Dododedodonl\Laravel2fa\TwoFactorAuthenticationServiceProvider"

用法

保护路由

添加了一个名为 2fa 的中间件别名。您可以将此分配给单个路由或控制器,就像所有其他中间件一样。

Route::get('home', 'HomeController@index')->name('home')->middleware('2fa');

默认禁用

在某些情况下(例如在本地环境中),默认禁用此中间件。使用 2fa:force 作为中间件来覆盖此设置。

全局

要全局使用,将 \Dododedodonl\Laravel2fa\Http\Middleware\Verify2faAuth 添加到您的 app/Http/kernel.php 中的 web 组。以 2fa. 开头的路由和 logout 路由在登录时仍然有效。在其他所有路由上,将应用中间件并要求输入令牌。

密钥设置

通过网页

默认禁用,因为它需要 ext-imagick php 扩展。编辑 config/laravel-2fa.php 或编辑您的环境文件。将 OTP_SETUP_ENABLED=true 添加到您的 .env 文件中以启用。

通过 artisan

为用户设置密钥:php artisan 2fa:generate {username}。撤销用户的密钥:php artisan 2fa:revoke {username}

故障排除

没有被要求输入令牌

默认情况下,当环境设置为本地时,中间件默认禁用,以简化测试。使用 2fa:force 强制执行中间件的执行。

没有错误地被重定向回登录页面

当数据库中没有找到密钥,并且未配置基于网页的密钥设置时,您会被重定向回登录页面并注销。尽管伴随错误,但您需要编辑您的 login.blade.php 文件,如安装步骤中建议的那样来显示它。

贡献

有关详细信息和使用待办事项列表,请参阅 contributing.md

安全

如果您发现任何与安全相关的问题,请通过电子邮件发送到 dododedodonl@thor.edu,而不是使用问题跟踪器。

注意

此包假设您使用 Bootstrap 4 作为 CSS 框架。还提供了 Bootstrap 3 视图,通过调用 Dododedodonl\Laravel2fa\TwoFactorAuthentication::useBootstrapThree() 来配置它们。但是,这并不是必需的,您只需更改视图以适应您的 CSS 框架即可。

许可证

MIT。有关更多信息,请参阅 许可证文件