Download the PHP package aliirfaan/laravel-simple-otp without Composer
On this page you can find all versions of the php package aliirfaan/laravel-simple-otp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aliirfaan/laravel-simple-otp
More information about aliirfaan/laravel-simple-otp
Files in aliirfaan/laravel-simple-otp
Package laravel-simple-otp
Short Description Generate and verify OTP in Laravel
License
Informations about the package laravel-simple-otp
Laravel Simple OTP
This package allows you to generate OTP (One time password). You can then verify the OTP code and grant access based on its validity.
Flexibility
This package is not tied to Laravel Auth and you can use it to send OTP to any model in your project. For example you can send OTP to a Merchant or Customer model. It does not matter if you are coding a REST API or view based backend, I have tried to code the methods to be used independently.
OTP profiles allows you to define different parameters for different OTP scenarios.
Features
- Generate random OTP based on length
- Generate random OTP based on type (Numeric, alphanumeric)
- Associate OTP code with a model object using the object id and object type
- Associate OTP code with recipient in senarios where model is not applicable
- Supports OTP per device using device_id column
- OTP code is hashed for better security
- Validate OTP code based on presence, equality and expiry
- Throws custom exceptions that you can catch and show your custom messages and dispatch your custom events
- Model implements prunable for housekeeping
- Supports profiles for different otp settings
Requirements
Installation
You can install this package on an existing Laravel project with using composer:
Register the ServiceProvider by editing config/app.php file and adding to providers array:
Note: use the following for Laravel <5.1 versions:
Publish files with:
or by using only php artisan vendor:publish and select the aliirfaan\LaravelSimpleOtp\SimpleOtpServiceProvider from the outputted list.
Apply the migrations:
Configuration
This package publishes an laravel-simple-otp file inside your applications's config folder which contains the settings for this package. Most of the variables are bound to environment variables, but you are free to directly edit this file, or add the configuration keys to the .env file.
Each profile supports otp_type, otp_length, otp_timeout_seconds, otp_should_simulate, otp_simulated_code, and otp_retention_days. Omitted keys on a named profile fall back to default_profile values. When no profile is passed at runtime, default_profile is used. The resolved profile name is stored on the profile column when persisting.
Usage
License
The MIT License (MIT)
Copyright (c) 2020
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.