nperez / laravel2step
Laravel 2 步验证包
v1.0.4
2023-07-24 12:30 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
This package is not auto-updated.
Last update: 2024-09-17 06:53:48 UTC
README
Laravel 2 步验证
Laravel 2-Step Verification 是一个简单的包,用于向任何 Laravel 项目添加 2 步用户验证。它是可配置和可定制的。它使用通知向用户发送包含 4 位验证码的电子邮件。它可以与 Laravel 的认证脚手架一起使用,也可以集成到其他项目中。
目录
功能
Laravel 2 步验证功能 |
---|
使用 通知 类向用户的电子邮件发送代码 |
可以发布可定制的视图和资源 |
许多 配置 选项 |
使用语言 本地化 文件 |
验证页面 |
锁定页面 |
要求
安装说明
在终端中从您的项目根目录运行
Laravel 6+ 使用
composer require nperez/laravel2step
注册包
Laravel 5.5 及以上版本使用包自动发现功能,无需编辑
config/app.php
文件。Laravel 5.4 及以下版本在
config/app.php
下的providers
中使用以下命令注册包
'providers' => [
nperez\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 通过中间件启用。您可以通过以下中间件在您的路由和控制器中启用 2 步验证
twostep
在 web.php
中使用中间件开始记录页面视图的示例
Route::group(['middleware' => ['twostep']], function () {
Route::get('/home', 'HomeController@index')->name('home');
});
路由
截图
文件树
└── 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 命令和作业来修剪这些条目。
提交问题
在提交问题之前有一些考虑事项
- 你们都太棒了!
- 阅读说明 并确保所有步骤都 正确执行。
- 检查 问题是否 仅限于您的开发环境设置。
- 提供 复制步骤。
- 尝试 了解问题,如果您 有解决方案,请提交拉取请求。
- 表明 您 已尝试 了解问题。
- 检查 您要 报告的问题是否是先前报告的问题的重复。
- 遵循这些说明表明您已尝试。
- 如果您有任何问题,请发送电子邮件至 nperez@gmail.com
- 需要帮助吗?我会在 Slack 上尽我所能帮助您:https://opensourcehelpgroup.slack.com
- 请考虑这一点,这是一个开源项目,我在打开问题时免费提供给社区。
开源项目是社区的责任,用于使用、贡献和调试。
许可
Laravel 2-Step Verification 在 MIT 许可证下授权。祝您使用愉快!