This package lets you set up an OTP verification process upon user login.
You can install the package via composer:
composer require chrysanthos/laravel-otp
You can publish the config file with:
php artisan vendor:publish --tag="laravel-otp-config"
There are the contents of the published config file:
return [
/**
* Whether the package will register the routes and listeners.
*/
'enabled' => false,
/**
* The logo image to be shown above otp input.
*/
'logo' => null,
/**
* The notification to be sent to the logged-in user.
* Override this with your own implementation so that
* you can customize the channels, message format etc.
*/
'notification' => \Chrysanthos\LaravelOtp\Notifications\SendOtpToUserNotification::class,
/**
* The paths that should be protected by otp. This must be
* relative paths with no slashes at the start of the string.
* Use this option in case you have admin login area with tools
* like Nova/Backpack/Filament and only nedd otp in the main site
*
* Sadly the paths must point to the uri path of the route that the login form is submitted to.
*/
'paths' => [
'*',
],
];
Optionally, you can publish the login view using
php artisan vendor:publish --tag="laravel-otp-views"
Add the RedirectToOtpPage Middleware to the routes you wish to be protected by OTP.
use Chrysanthos\LaravelOtp\Middleware\RedirectToOtpPage;
Route::middleware([
'auth:sanctum',
RedirectToOtpPage::class,
])->group(function () {
Route::get('/dashboard', DashboardController::class);
});
You may customize the notification by changing the notification
key in the config.
By setting the notification to a custom notification class you have full flexibility on how the notification is sent (Channels, Text, etc.)
'notification' => \App\Notifications\YourCustomNotification::class,
composer test
Please see CHANGELOG for more information on what has changed recently.
Please contact me directly via email.
The MIT License (MIT). Please see License File for more information.