PHP library for two-factor (or multi-factor) authentication using TOTP and QR-codes. Inspired by, based on but most importantly an improvement on 'PHPGangsta/GoogleAuthenticator'. There's a .Net implementation of this library as well.
- Tested on PHP 5.6 up to 8.0
- cURL when using the provided
QRServerProvider
(default),ImageChartsQRCodeProvider
orQRicketProvider
but you can also provide your own QR-code provider. - random_bytes(), MCrypt, OpenSSL or Hash depending on which built-in RNG you use (TwoFactorAuth will try to 'autodetect' and use the best available); however: feel free to provide your own (CS)RNG.
Optionally, you may need:
- sockets if you are using
NTPTimeProvider
- endroid/qr-code if using
EndroidQrCodeProvider
orEndroidQrCodeWithLogoProvider
. - bacon/bacon-qr-code if using
BaconQrCodeProvider
.
The best way of installing this library is with composer:
php composer.phar require robthree/twofactorauth
For a quick start, have a look at the getting started page or try out the demo.
If you need more in-depth information about the configuration available then you can read through the rest of documentation.
Licensed under MIT license. See LICENSE for details.
Logo / icon under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication (Archived page)