When you use Redis or any Cache driver it will self destruct things
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
You can install the package via composer:
composer require clarity-tech/laravel-otp-generator
You can publish the config file with:
php artisan vendor:publish --tag="laravel-otp-generator-config"
This is the contents of the published config file:
// config for ClarityTech/LaravelOtpGenerator
return [
'debug' => false,
'expiry' => env('OTP_EXPIRY', 15 * 60),
'length' => env('OTP_LENGTH', 6),
];
use ClarityTech\LaravelOtpGenerator\Facades\AugmentedOTP;
$otp = AugmentedOTP::generateWithKey(9706353416);
$isValid = AugmentedOTP::withKey(9706353416)->validate(123456);
$isValid = AugmentedOTP::withKey(9706353416)->verify(123456);//does not trigger exception
The validate methods throws two exceptions based on which you can handle in your use case and modify the response to give for the user output as needed
use ClarityTech\LaravelOtpGenerator\Exceptions\OTPExpiredException;
use ClarityTech\LaravelOtpGenerator\Exceptions\OTPInvalidException;
And when you have request context available you can pass that too for more secure hash key generation internally which locks the OTP to be valid for that session / IP address only
$instance = AugmentedOTP::fromRequest(Request $request, string $mobileNo);
$otp = $instance->generate();
$otp = $instance->validate(123456);
you can determine whether provide code is valid or not
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.