dukstra / otp
Laravel 包,用于生成、验证和处理 OTP
v1.1
2021-08-12 11:34 UTC
Requires
- php: ^7.4|^8.0
- illuminate/contracts: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11|^4.3
README
安装
您可以通过 composer 安装此包
composer require dukstra/otp
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="Dukstra\Otp\Providers\OtpServiceProvider" --tag="migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Dukstra\Otp\Providers\OtpServiceProvider" --tag="config"
用法
use Dukstra\Otp\Otp; . . $otp = Otp::generate($identifier); . $verify = Otp::validateUsingIdentifier($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^ { .... #dumpLocale: null date: 2021-01-29 04:40:44.0 UTC (+00:00) }
您可以在 otp-generator.php 配置文件中更新设置,但在生成时也可以控制。
高级用法
use Dukstra\Otp\Otp; . . $otp = Otp::setValidity(30) // otp validity time in mins ->setLength(4) // Length 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 ->validateUsingIdentifier($identifier, $otp->token);
测试
composer test
鸣谢
许可
MIT 许可证 (MIT)。