a lightweight implementation of generating OTP and validating backed by Cache Storage for Laravel
clarity-tech/laravel-otp-generator is a Laravel package for a lightweight implementation of generating otp and validating backed by cache storage for laravel.
It currently has 1 GitHub stars and 41 downloads on Packagist (latest version v1.0.0-rc).
Install it with composer require clarity-tech/laravel-otp-generator.
Discover more Laravel packages by clarity-tech
or browse all Laravel packages to compare alternatives.
Last updated
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.