nanasess / twofactorauth18
Two Factor Authentication
Fund package maintenance!
RobThree
paypal.me/robiii
Requires
- php: >=8.2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9
Suggests
- bacon/bacon-qr-code: Needed for BaconQrCodeProvider provider
- endroid/qr-code: Needed for EndroidQrCodeProvider
README
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.
Requirements
- 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
.
Installation
The best way of installing this library is with composer:
php composer.phar require robthree/twofactorauth
Usage
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.
Integrations
License
Licensed under MIT license. See LICENSE for details.
Logo / icon under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication (Archived page)