advancelearn / otp-auth
从客户端生成一个字段的otp,创建otp后可以检查是否为有效令牌
2.1.1
2023-09-11 10:07 UTC
Requires
- php: ^8.0.2
- guzzlehttp/guzzle: ^7.2
- laravel/framework: ^9.19
Requires (Dev)
- orchestra/testbench: ^7.0|8.*
- phpunit/phpunit: ^9.0
README
#Advancelearn Otp-auth
介绍
欢迎使用AdvanceLearn学院的第一款包。在这个包中,我们试图让你更容易地创建一个验证码,并在收到代码和令牌后,通过短信或电子邮件将其发送给用户以填写表格。验证用户输入此令牌,然后我们将验证令牌与您发送的用户名进行匹配,并将结果返回给您。
安装
您可以使用Composer安装此包。
composer require advancelearn/otp-auth
使用方法
advancelearn/otp-auth
,只需从包的主类创建一个对象,并在第一步中调用与创建令牌相关的函数,并将用户名发送给它。
创建 advancelearn/otp-auth 的新对象
并调用 generateToken 方法:
$package = new OtpHandlerAdvancelearn();
将包的命名空间添加到您的PHP类顶部
use Advancelearn\OtpAuth\OtpHandlerAdvancelearn;
现在调用 generateToken 方法,并传入生成新令牌的数据,并设置otp代码的缓存时间
$username = request()->input('username'); $token = $package->generateToken(['username' => $username , 'time' => 3]);
用户名可以是用户的电子邮件或手机号码
在本节中,您已经收到代码。现在,根据您的项目场景,您可以发送验证码给用户,并在下一步接收用户发送的令牌,并将其发送到包的验证方法进行准确性检查
$token = request()->input('token'); return $package->verify(['token' => $token , 'username' => $username]); //example output: If the token is correct than the user's username { "success": "Token is verified you can register or logged in user", "status": true }
结论
使用这个名为 advancelearn/otp-auth 的高级学习包,您可以轻松发送用户名并接收令牌,而且您不用担心在数据库中创建或保存令牌,因为根据您给出的时间,用户名的令牌可以轻松缓存。在第二步中,对请求的用户名应用令牌验证,根据这一点,您可以成功在系统中注册用户或将用户直接引导到重发代码页面。