Download the PHP package christian-riesen/otp without Composer
On this page you can find all versions of the php package christian-riesen/otp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download christian-riesen/otp
More information about christian-riesen/otp
Files in christian-riesen/otp
Package otp
Short Description One Time Passwords, hotp and totp according to RFC4226 and RFC6238
License MIT
Homepage https://github.com/ChristianRiesen/otp
Informations about the package otp
One Time Passwords
Did you like this? Flattr it:
Installation
Use composer and require the library in your composer.json
{
"require": {
"christian-riesen/otp": "^2.0",
}
}
Usage
Sample script in example
folder. Requires sessions to work (for secret storage).
Class Otp
Implements hotp according to RFC4226 and totp according to RFC6238 (only sha1, sha256 and sha512 algorithms). Once you have a secret, you can use it directly in this class to create the passwords themselves (mainly for debugging use) or use the check functions to safely check the validity of the keys. The checkTotp
function also includes a helper to battle timedrift.
Class GoogleAuthenticator
Static function class to generate a correct url for the QR code, so you can easily scan it with your device. Google Authenticator is available as an application for iPhone and Android. This removes the burden to create such an app from the developers of websites by using this set of classes.
There are also older open source versions of the Google Authenticator app for both iPhone and Android.
About
Requirements
PHP >= 5.4.0
Uses paragonie/random_compat and paragonie/constant_time_encoding.
If you want to run the tests, PHPUnit >= 4.8.35 is required.
Author
Christian Riesen http://christianriesen.com
Acknowledgements
The classes have been inspired by many different places that were talking about otp and Google Authenticator. Thank you all for your help.
Project setup ideas blatantly taken from https://github.com/Seldaek/monolog
All versions of otp with dependencies
paragonie/constant_time_encoding Version ^1|^2
paragonie/random_compat Version >=1
symfony/polyfill-php56 Version ^1