Download the PHP package devstar/laravel-otp-validate without Composer
On this page you can find all versions of the php package devstar/laravel-otp-validate. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download devstar/laravel-otp-validate
More information about devstar/laravel-otp-validate
Files in devstar/laravel-otp-validate
Package laravel-otp-validate
Short Description Laravel package for OTP validation with built-in features like retry and resend mechanism. Built in max retry and max resend blocking. OTP/Security Code can be send over SMS or Email of your choice with user-defined template.
License MIT
Homepage https://github.com/gitdevstar/laravel-otp-validate
Informations about the package laravel-otp-validate
OTP Validate Package in Laravel
This package is for easy setup for OTP validation process. No hassle, just plug and play. Following the steps mentioned below and you will be able to get a fully working OTP Validation system. You can use this later for authentication or e-commerce production selling, order confirmation.
Requirements
Installation
Install Package
Require this package with composer:
Add Service Provider & Facade
For Laravel 5.5+
Once the package is added, the service provider and facade will be auto discovered.
For Older versions of Laravel
Add the ServiceProvider to the providers array in config/app.php
:
Add the Facade to the aliases array in config/app.php
:
Publish Config
Once done, publish the config to your config folder using:
This command will create a config/otp.php
file.
Email Configs
From the .env
file the email configs are setup. No other changes required.
SMS Configs
As the SMS Gateways use different methods and also extra headers and params, you may need to update the sms configs in the otp.php
file.
Migrate Database
Run the following command to create the otps table.
It will create a otps table with the required columns.
Environment
Add the following Key-Value pair to the .env
file in the Laravel application
Definitions
Definition of the features in config are:
- service : enable/disable OTP Service
- timeout: timeout for OTP
- digit: OTP Digit
- resend-service: enable/disable resend Service
- max-retry: max retry for a single request
- max-resend: max resend for a single request
- service-name: for which the service is used
- company-name: for which company
- send-by: there are 3 ways to share otp (Email/SMS/AWS SNS)
- email: this key specifies the required information for email (e.g. from, name, subject etc.)
- sms: configure with SMS gateway to send SMS. (Universal Configurator)
Defining Send By on Runtime
The config method can be used to set send-by [ SMS / Email / SNS ] at runtime.
config('otp.send-by.email', 1);
config('otp.send-by.sms', 0);
OTP Request Templates
Once the template files are published, open resources/views/vendor/template-otp/
Sample Controller
Run the following command to create a controller.
php artisan make:controller OtpController
Below is a sample for calling the OTP Validator in OtpController.
Add the following to the routes/web.php
file.
Response/Error Descriptions
The below table describes the error codes generated in the response and their corresponding meanings.
Request OTP Response Codes
Code | Meanings |
---|---|
201 | Successfully Generated OTP and shared. |
400 | Bad request. |
501 | Resend Service Disabled. |
503 | Service Unavailable. |
OTP Validate Response Codes
Code | Meanings |
---|---|
200 | Correct OTP. |
400 | Invalid OTP. |
404 | OTP Expired/Not Found. |
413 | Max Retry Exceeded. |
License
MIT
Special Thanks
- Nahid Bin Azhar For the Feedback.
Support
- For any bugs, please help to create an issue.
- For any problem installing or configurations, feel free to knock me. [email protected]
Featured Article
Example SMS Gateways Configuration
Muthofun
If you are trying to integrate one of most popular SMS gateway of Bangladesh, muthofun is a popular Bulk SMS Gateway in our country. Here is a sample configuration for the Muthofun SMS Gateway
.env file will be as the following
Infobip
Example for integrating with the infobip SMS platform, renowned SMS Gateway.
using GET method
.env file will be as the following
msg91
Sample for integrating with the msg91 SMS gateway.
using GET method
.env file will be as the following
Using AWS Simple Notification Service (SNS)
Sample steps for integrating with the AWS SNS.
Create a IAM user with the appropriate policy permissions. Go to the IAM service and create your application’s user; be sure to capture its AWS Key and AWS Secret values and put this into your environment file. From there add the following policy to the user or its group.
Here we set the ability to publish, set SMS attributes and check for opt-outs and apply this across a wildcard resource instead of a specific topic as we will be sending notifications directly to phone numbers and not an SNS topic.
All versions of laravel-otp-validate with dependencies
guzzlehttp/guzzle Version ^7.0.1
nesbot/carbon Version ^2.22
aws/aws-sdk-php Version ^3.179