LaravelPackages.net
Acme Inc.
Toggle sidebar
clarity-tech/laravel-otp-generator

a lightweight implementation of generating OTP and validating backed by Cache Storage for Laravel

41
1
v1.0.0-rc
About clarity-tech/laravel-otp-generator

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

a lightweight implementation of generating OTP and validating backed by Cache Storage for Laravel

When you use Redis or any Cache driver it will self destruct things

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

Support us

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.

Installation

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),
];

Usage

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

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Comments