bonabrian/laravel-otp

无需使用数据库的 Laravel OTP 生成器和验证器

1.0.0 2020-10-20 06:34 UTC

This package is auto-updated.

Last update: 2024-09-20 15:29:49 UTC


README

Github License

安装

通过 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