This library is a fork of RobThree/TwoFactorAuth in order to add the following functionality:
- QR codes can now contain a username/account identifier, technically this is simply part of the label (as defined in RFC 6238), however many Authenticator apps split this information out into two separate fields
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.
- Requires PHP version >=8.2
Optionally, you may need:
- sockets if you are using
NTPTimeProvider - endroid/qr-code if using
EndroidQrCodeProviderorEndroidQrCodeWithLogoProvider. - bacon/bacon-qr-code if using
BaconQrCodeProvider. - php-curl library when using an external QR Code provider such as
QRServerProvider,ImageChartsQRCodeProvider,QRicketProvideror any other custom provider connecting to an external service.
The best way of installing this library is with composer:
php composer.phar require serevinus/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)

