triverla / laravel-otp
Laravel 生成和验证OTP的包
v1.0.0
2023-08-18 22:49 UTC
Requires
- php: ^7.4|^8.0
- illuminate/cache: ^8.0|^9.0|^10.0
- illuminate/filesystem: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
Requires (Dev)
- laravel/legacy-factories: ^1.0
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-19 02:02:07 UTC
README
本包旨在简化OTP验证过程的设置。无需数据库。
安装
注意:本包仅支持7.4+
通过Composer安装
composer require triverla/laravel-otp
添加服务提供者及门面
对于Laravel 5.5+
添加包后,服务提供者和门面将自动发现。
对于Laravel旧版本
将服务提供者添加到config/app.php
中的providers数组
Triverla\LaravelOtp\OtpServiceProvider::class
将门面添加到config/app.php
中的aliases数组
'Otp' => Triverla\LaravelOtp\OtpServiceProvider::class
发布配置
完成后,使用以下命令将配置发布到您的配置文件夹
php artisan vendor:publish --provider="Triverla\LaravelOtp\OtpServiceProvider"
此命令将创建一个config/otp.php
文件。
环境变量
将以下键值对添加到Laravel应用的.env
文件中
OTP_LENGTH=6 OTP_TIMEOUT=15 OTP_MAILABLE_CLASS=Triverla\LaravelOtp\Notifications\NewOtpMail::class OTP_SMS_CLASS=Triverla\LaravelOtp\Notifications\NewOtpSms::class OTP_TRANSPORT_EMAIL=true OTP_TRANSPORT_SMS=false
自定义通知类
您可以使用自定义类进行邮件和短信通知。您可以通过.env
或config/otp.php
添加它
用法
导入门面类
use Triverla\LaravelOtp\Facades\Otp;
或
otp()
生成OTP
$otp = Otp::generate($unique_secret); // string $otp = otp()->generate($unique_secret); // string
验证OTP
$otp = Otp::generate($unique_secret); $check = otp()->verify($otp, $unique_secret); // bool
重新生成OTP:这可以用来重新发送相同的或不同的OTP
$otp = otp()->regenerate($unique_secret, false); // true to change OTP and false to use same OTP
生成OTP并发送短信或邮件通知给收件人
use Triverla\LaravelOtp\Helpers\OtpNotificationRequest; $sendOtp = Otp::notify(new OtpNotificationRequest(otp()->generate($unique_secret), $emailAddress, $mobileNumber)); // bool // $emailAddress and $mobileNumber are nullable. You can use both or either.
贡献
请随意fork此包,并通过提交拉取请求来增强功能。
错误和问题
如果您在此包中发现任何错误或问题,请在此处创建问题问题
安全
如果您发现任何安全相关的问题,请通过电子邮件yusufbenaiah@gmail.com联系。
如何感谢您?
为何不在GitHub仓库上点星并分享此仓库的链接到Twitter或其他社交平台。
别忘了关注我的Twitter!
谢谢!Benaiah Yusuf
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。