blar / otp
OTP for PHP
dev-master
2016-03-09 22:48 UTC
Requires
- php: ^7.0
- blar/hash: dev-master
- christian-riesen/base32: dev-master
Requires (Dev)
- blar/google-charts: dev-master
- satooshi/php-coveralls: ^1.0
Suggests
- blar/google-charts: Display otpauth-URL as QR-Code
This package is auto-updated.
Last update: 2024-10-29 04:47:36 UTC
README
One Time Password (OTP)
„Time based“ One Time Password erstellen
Setup
$otp = new Totp();
$otp->setLabel('username@example.com');
$otp->setIssuer('example.com');
Secret erstellen
Das Secret muss nur einmal pro Benutzer erstellt werden.
$secret = $otp->createSecret();
Secret zuweisen
$otp->setSecret($secret);
OTP-URL ausgeben
$otp->getUrl();
Die Url sieht dann z.B. so aus:
otpauth://totp/username@example.com?
issuer = example.com
algorithm = SHA1
digits = 6
period = 30
secret = LWZU3NR3PN5FXUX6XTHWE7OIWJEAFTWC
OTP-URL als QRCode ausgeben
Einige Authenticator unterstützen die Übertragung der Einstellungen durch das Scannen eines QRCodes. So ein QRCode kann z.B. mit dem Paket blar/google-charts erstellt werden.
$qrcode = new Qrcode();
$qrcode->setSize(256, 256);
$qrcodeUrl = $qrcode->createUrl($otp->getUrl());
Passwort prüfen
$otp->validate($_POST['otp']);
Google-Authenticator
Für den Google-Authenticator müssen folgende Einstellungen vorgenommen werden, da dieser für einige Einstellungen Standardwerte verwendet die nicht über die otpauth-URL geändert werden können.
$otp->setAlgorithm('SHA1');
$otp->setDigits(6);
$otp->setInterval(30);