jeremykenedy / laravel2step
Laravel 2 步验证包
V3.1.0
2023-06-08 13:03 UTC
Requires
- php: ^7.3|^8.0|^8.1|^8.2
- laravel/framework: 6.*|7.*|8.*|9.*|10.*
Requires (Dev)
- illuminate/support: ^8.5
- laravel/laravel: ^8.0
- laravel/tinker: ^2.4
- orchestra/testbench: ^6.0
- suin/phpcs-psr4-sniff: ^3.0
README
Laravel 2 步验证
Laravel 2-Step Verification 是一个易于将两步用户验证添加到任何 Laravel 项目的包。它可配置和自定义。它使用通知向用户发送包含 4 位验证码的电子邮件。可以与 Laravel 的认证框架直接使用,也可以集成到其他项目中。
目录
特性
要求
安装说明
-
在终端中从项目根目录运行
Laravel 6+ 使用
composer require jeremykenedy/laravel2step
Laravel 5.8 使用
composer require jeremykenedy/laravel2step:v1.4.0
Laravel 5.7 及以下使用
composer require jeremykenedy/laravel2step:v1.0.2
-
注册包
-
Laravel 5.5 及以上版本使用包自动发现功能,无需编辑
config/app.php
文件。 -
Laravel 5.4 及以下版本在
config/app.php
中的providers
下注册包,如下所示
'providers' => [
jeremykenedy\laravel2step\laravel2stepServiceProvider::class,
];
- 从项目的根目录运行以下命令以发布包的视图、配置文件、资源和语言文件
php artisan vendor:publish --tag=laravel2step
-
可选:更新您的
.env
文件和相关设置(请参阅环境文件部分) -
运行迁移以添加验证码表
php artisan migrate
- 注意:如果您想指定不同的表或连接,请确保更新您的
.env
文件以包含所需的配置变量。
- 确保您的应用程序已配置电子邮件 - 这通常通过在
.env
文件中配置 Laravel 默认设置来完成。
配置
Laravel 2-Step Verification 可以在 /config/laravel2step.php
中直接配置,或者在 .env
文件中的变量中配置。
环境文件
以下是可用的 .env
文件变量
LARAVEL_2STEP_ENABLED=true LARAVEL_2STEP_DATABASE_CONNECTION=mysql LARAVEL_2STEP_DATABASE_TABLE=laravel2step LARAVEL_2STEP_USER_MODEL=App\User LARAVEL_2STEP_EMAIL_FROM="anEmailIsrequired@email.com" LARAVEL_2STEP_EMAIL_FROM_NAME="Laravel 2 Step Verification" LARAVEL_2STEP_EMAIL_SUBJECT='Laravel 2 Step Verification' LARAVEL_2STEP_EXCEEDED_COUNT=3 LARAVEL_2STEP_EXCEEDED_COUNTDOWN_MINUTES=1440 LARAVEL_2STEP_VERIFIED_LIFETIME_MINUTES=360 LARAVEL_2STEP_RESET_BUFFER_IN_SECONDS=300 LARAVEL_2STEP_CSS_FILE="css/laravel2step/app.css" LARAVEL_2STEP_APP_CSS_ENABLED=false LARAVEL_2STEP_APP_CSS="css/app.css" LARAVEL_2STEP_BOOTSTRAP_CSS_CDN_ENABLED=true LARAVEL_2STEP_BOOTSTRAP_CSS_CDN="https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.7/css/bootstrap.min.css"
使用
Laravel 2-Step Verification 通过中间件启用。您可以通过以下中间件在您的路由和控制器中启用两步验证
twostep
在 web.php
中使用中间件开始记录页面视图的示例
Route::group(['middleware' => ['twostep']], function () { Route::get('/home', 'HomeController@index')->name('home'); });
路由
/verification/needed
/verification/verify
/verification/resend
截图
文件树
└── laravel2step
├── .gitignore
├── LICENSE
├── README.md
├── composer.json
└── src
├── .env.example
├── Laravel2stepServiceProvider.php
├── app
│ ├── Http
│ │ ├── Controllers
│ │ │ └── TwoStepController.php
│ │ └── Middleware
│ │ └── Laravel2step.php
│ ├── Models
│ │ └── TwoStepAuth.php
│ ├── Notifications
│ │ └── SendVerificationCodeEmail.php
│ └── Traits
│ └── Laravel2StepTrait.php
├── config
│ └── laravel2step.php
├── database
│ └── migrations
│ └── 2017_12_09_070937_create_two_step_auth_table.php
├── public
│ └── css
│ ├── app.css
│ └── app.min.css
├── resources
│ ├── assets
│ │ └── scss
│ │ ├── _animations.scss
│ │ ├── _mixins.scss
│ │ ├── _modals.scss
│ │ ├── _variables.scss
│ │ ├── _verification.scss
│ │ └── app.scss
│ ├── lang
│ │ └── en
│ │ └── laravel-verification.php
│ └── views
│ ├── layouts
│ │ └── app.blade.php
│ ├── partials
│ ├── scripts
│ │ └── input-parsing-auto-stepper.blade.php
│ └── twostep
│ ├── exceeded.blade.php
│ └── verification.blade.php
└── routes
└── web.php
- 可以使用 brew 安装 tree 命令:
brew install tree
- 使用以下命令生成的文件树:
tree -a -I '.git|node_modules|vendor|storage|tests'
未来
- 单元测试
- Travis-CI 集成。
- 它有自己的 HTML 邮件模板。
- 添加 SMS 或其他通知。
- 添加捕获 IP 地址。
- 相应地更改增量表和逻辑
- 创建 Artisan 命令和作业来修剪这些条目。
提交问题
在提交问题之前有一些考虑因素
- 你们都太棒了!
- 阅读说明 并确保所有步骤都 正确执行。
- 检查 该问题是否不是 特定于您的开发环境 设置。
- 提供 重复步骤。
- 尝试查找问题,如果您 有解决方案,请提交拉取请求。
- 表明您已尝试 查找问题。
- 检查 您所报告的问题是否是之前已报告的问题的 重复。
- 按照这些说明操作表明您已尝试过。
- 如果您有任何问题,请发送电子邮件至 jeremykenedy@gmail.com
- 需要帮助吗?我可以在 Slack 上尽我所能帮助您:https://opensourcehelpgroup.slack.com
- 请体谅,这是一个开源项目,我免费提供给社区在提交问题时使用。
开源项目是社区的责任,用于使用、贡献和调试。
许可证
Laravel 两步验证许可协议遵循 MIT 许可。祝您使用愉快!