bonabrian / laravel-otp
无需使用数据库的 Laravel OTP 生成器和验证器
1.0.0
2020-10-20 06:34 UTC
Requires
- php: ^7.3
- illuminate/cache: ^8.10
Requires (Dev)
- orchestra/testbench: ^6.2
- phpunit/phpunit: ^9.4
README
安装
通过 Composer
composer require bonabrian/laravel-otp
发布 laravel 的配置文件
php artisan otp:publish
在 Laravel 中的使用
导入外观类
use Bonabrian\Otp\Facades\Otp;
生成 OTP
$code = Otp::generate($secret);
上述生成的 OTP 将仅在默认过期时间内使用相同的密钥进行验证。
提示:OTP 通常用于验证。因此,确定
密钥
的最简单方法通常是用户的电子邮件/用户名或电话号码,或者可能是用户 ID。
验证 OTP
$valid = Otp::validate($code, $secret);
其他生成和验证选项
// Generate Otp::setDigits(4)->generate($secret); // 4 Digits Otp::setExpiry(30)->generate($secret); // 30 min expiry Otp::setDigits(4)->setExpiry(30)->generate($secret); // 4 Digits, 30 min expiry
确保在验证时设置相同的配置。例如
// Example 1 Otp::validate($code, $secret); // false Otp::setDigits(4)->validate($code, $secret); // true // Example 2 Otp::validate($code, $secret); // false Otp::setExpiry(30)->validate($codde, $secret); // true // Example 3 Otp::validate($code, $secret); // false Otp::setDigits(4)->setExpiry(30)->validate($code, $secret); // true