Download the PHP package tzsk/otp without Composer
On this page you can find all versions of the php package tzsk/otp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package otp
Short Description A secure, database-free One-Time Password (OTP) generator and verifier for PHP and Laravel.
License MIT
Homepage https://github.com/tzsk/otp
Informations about the package otp
:gift: OTP Generator & Verifier
A secure, database-free One-Time Password (OTP) generator and verifier for PHP. While primarily designed as a Laravel package, it can also be used independently in any PHP application.
:package: Installation
Via Composer:
To publish the configuration file for Laravel, run:
:fire: Usage in Laravel
Import the facade class:
Generate an OTP:
The OTP generated above will only be successfully validated if the same unique secret is provided within the default expiration time.
TIP: OTPs are commonly used for user verification. The most straightforward approach to determining the
unique_secretis to use the user's email address, phone number, or User ID. You can also be creative with the unique secret, such as usingmd5($email)to create an MD5 hash of the user's email or phone number.
Match an OTP:
Other Generate & Match Options:
There are other ways of generating or matching an OTP:
Make sure to use the same configuration during validation. For example, if you specified 8 digits and a 30-minute expiration during creation, you must also specify 8 digits and a 30-minute expiration during verification.
As demonstrated in the examples above, the exact configuration used to generate the OTP must be provided when matching the OTP with the secret.
Security Advantage: The primary advantage of requiring the same configuration during verification is that it prevents a malicious actor from using this tool to generate the same OTP for a targeted user without knowing the exact configuration parameters used.
:ocean: Helper usage
You can use the package with the provided helper function as well:
:heart_eyes: Usage outside Laravel
Install the package with Composer exactly as described above. Then, simply use the provided helper function.
Generate:
All functionalities remain identical to those documented in the Laravel Usage section. The only difference is that you use the $manager instance instead of the static Facade.
NOTE: You don't need to specify a path if you are using Laravel. The package will automatically detect and utilize Laravel's default cache store.
Example:
Again, remember that when verifying an OTP, the digit and expiration configuration must match the settings used during generation.
:microscope: Testing
:date: Changelog
Please see CHANGELOG for more information on what has changed recently.
:heart: Contributing
Please see CONTRIBUTING for details.
:lock: Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
:crown: Credits
- Kazi Ahmed
- All Contributors
:policeman: License
The MIT License (MIT). Please see License File for more information.
All versions of otp with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
illuminate/cache Version ^11.0|^12.0|^13.0
illuminate/filesystem Version ^11.0|^12.0|^13.0