creatvstudio / laravel-otp
一个处理基于时间的OTP的Laravel包
v0.0.1
2020-06-23 07:42 UTC
Requires
- php: ^7.1
- illuminate/support: ^7.0
- spomky-labs/otphp: ^10.0
Requires (Dev)
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-24 19:03:55 UTC
README
此包仍处于alpha阶段。 一个用于实现基于时间的OTP的Laravel包。
安装
您可以通过composer安装此包
composer require creatvstudio/laravel-otp
发布包
php artisan vendor:publish --provider="CreatvStudio\Otp\OtpServiceProvider"
运行迁移
php artisan migrate
将以下内容添加到config/app.php
aliases => [ ... 'Otp' => \CreatvStudio\Otp\Facades\Otp::class, ... ],
从.env
文件设置您的邮件设置
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
使用以下命令发布配置文件
php artisan vendor:publish --tag="otp-config"
用法
将特质添加到您的User类中
use CreatvStudio\Otp\HasOtp; class User extends Authenticable { use Notifiable; use HasOtp; } // Generate an OTP $otp = $user->getOtpCode(); // Verify an OTP $user->verifyOtp($otp);
保护路由
将以下代码添加到app/Http/Kernel.php
中的$routeMiddleware
protected $routeMiddleware = [ ... 'otp' => \CreatvStudio\Otp\Http\Middleware\CheckOtpSession::class, ]
在routes/web.php
中使用
Otp::routes(); Route::middleware(['auth'])->group(function(){ Route::get('otp-protected')->middleware('otp'); });
注意:默认Laravel身份验证是使OTP路由正常工作的必要条件。
自定义发送OTP代码到邮件
要自定义发送OTP代码时电子邮件的内容,只需修改./app/Notifications/SendOtpNotification.php
注意:请参阅官方Laravel文档以了解有关自定义通知的更多信息。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件jeff@creatvstudio.ph联系,而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。
Laravel Package Boilerplate
此包使用Laravel Package Boilerplate生成。