Download the PHP package asgarihope/pretty-otp without Composer
On this page you can find all versions of the php package asgarihope/pretty-otp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pretty-otp
PrettyOtp Laravel Package
PrettyOtp is a Laravel package designed to simplify the implementation of OTP (One-Time Password) mechanisms for authentication and other secure actions.
Installation
Install the package via Composer:
Configuration
Publish the package configuration file:
This will create a configuration file at config/otp.php
:
Middleware
The package provides an OtpMiddleware
to secure routes. You can use it as follows:
Example Usage
In your routes/web.php
or routes/api.php
, apply the middleware:
Middleware Parameters
key
: The request parameter containing the mobile number.segment
: A string to identify the OTP usage context.lifetimeInHours
: (Optional) The duration (in hours) for which access is granted after a successful OTP validation.
Events and Listeners
The package dispatches an OtpRequested
event whenever an OTP is requested. You can listen to this event and define your custom notification logic.
OtpRequested Event
Event Properties:
$mobile
: The mobile number for which the OTP is requested.$key
: The request parameter key used for the mobile number.$segment
: The OTP usage context.
Example Listener
Updated Listener Example
The SendOtpListener
class now includes the $otp
property and passes it to the sendNotification
method:
Service Provider
The PrettyOtpServiceProvider
automatically registers the middleware and event listeners. It also publishes the configuration and translation files.
Translation
Publish the translations for customization:
Translations are located under resources/lang/vendor/pretty-otp/
.
Example Flow
-
Request OTP: When the middleware detects a request for an OTP, it dispatches the
OtpRequested
event. This event triggers the configured listener to send the OTP to the user. -
Validate OTP: Subsequent requests to routes protected by the middleware will require a valid OTP. The middleware handles validation and grants access if the OTP is correct.
- Access Grant:
Upon successful validation, the middleware grants access to the user for the specified lifetime (
lifetimeInHours
, default is null).
Cache Storage
The package uses Laravel's cache system to store OTPs, attempts, and access grants. Configure your preferred cache driver in config/cache.php
.
Contribution
Contributions are welcome! Feel free to submit a pull request or report issues in the repository.
License
This package is open-sourced software licensed under the MIT license.
All versions of pretty-otp with dependencies
illuminate/support Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
illuminate/events Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
laravel/framework Version >=6