seshac / otp-generator
Laravel应用的OTP生成器和验证器
0.0.8
2023-10-23 03:10 UTC
Requires
- php: ^7.3|7.4|^8.0|^8.1|^8.2
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11|^4.3
README
安装
您可以通过Composer安装此包
composer require seshac/otp-generator
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="Seshac\Otp\OtpServiceProvider" --tag="migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Seshac\Otp\OtpServiceProvider" --tag="config"
用法
use Seshac\Otp\Otp; . . // May be you can use phone number as $identifier $otp = Otp::generate($identifier); . $verify = Otp::validate($identifier, $otp->token); // example response { "status": true "message": "OTP is valid" } // to get an expiredAt time $expires = Otp::expiredAt($identifier); // example response { status: true expired_at: Illuminate\Support\Carbon @1611895244^ { date: 2021-01-29 04:40:44.0 UTC (+00:00) }
您可以对配置文件otp-generator.php进行设置更新,同时在生成时也可以进行控制
高级用法
use Seshac\Otp\Otp; . . $otp = Otp::setValidity(30) // otp validity time in mins ->setLength(4) // Lenght of the generated otp ->setMaximumOtpsAllowed(10) // Number of times allowed to regenerate otps ->setOnlyDigits(false) // generated otp contains mixed characters ex:ad2312 ->setUseSameToken(true) // if you re-generate OTP, you will get same token ->generate($identifier); . $verify = Otp::setAllowedAttempts(10) // number of times they can allow to attempt with wrong token ->validate($identifier, $otp->token);
测试
composer test
更新日志
请参阅更新日志以获取最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请查看我们的安全策略了解如何报告安全漏洞。
鸣谢
许可协议
MIT许可协议(MIT)。请参阅许可文件以获取更多信息。