ideo / otpauth
Provides necessary processing for TOTP.
0.1
2017-11-26 19:44 UTC
Requires
- php: >=5.6.4
- christian-riesen/base32: ^1.3.1
- endroid/qrcode: ^2.3.4
Requires (Dev)
- phpunit/phpunit: ^5.0|^6.0
This package is not auto-updated.
Last update: 2024-11-16 16:17:37 UTC
README
Provides necessary processing for TOTP.
For pin generation and authentication, it is based on the implementation of google-authenticator.
Usage
Generation of QR code for TOTP compatible applications.
$keyGenerator = new KeyGenerator();
$qrCodeGenerator = new QrCodeGenerator();
// Generate keys randomly, save this key in association with the target account.
$keyBytes = $keyGenerator->generateRandom(10);
$qrDataUri = $qrCodeGenerator->getQrCodeDataUri($keyBytes, 'sample@foo.bar', 'Sample');
Authentication using pin.
// It reads the key of the target account and compares it with the input pin.
$passcodeGenerator = new PasscodeGenerator(new HMacSigner($keyBytes));
$counter = new TotpCounter();
$time = time();
$valid = $passcodeGenerator->verifyTimeoutCode($pin, $counter->getValueAtTime($time));