RobThree/TwoFactorAuth

PHP library for Two Factor Authentication (TFA / 2FA)

PHP

1,190

394 commits

updated Jan 5, 2026

See the code

README

Logo PHP library for Two Factor Authentication

Build status Latest Stable Version License Downloads PayPal donate button

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

  • Requires PHP version >=8.2

Optionally, you may need:

  • sockets if you are using NTPTimeProvider
  • endroid/qr-code if using EndroidQrCodeProvider or EndroidQrCodeWithLogoProvider.
  • bacon/bacon-qr-code if using BaconQrCodeProvider.
  • php-curl library when using an external QR Code provider such as QRServerProvider, ImageChartsQRCodeProvider, QRicketProvider or any other custom provider connecting to an external service.

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)

multi-factor
php
qrcode
security
totp
two-factor
twofactorauth

RobThree/TwoFactorAuth

PHP library for Two Factor Authentication (TFA / 2FA)

PHP

1,190

394 commits

updated Jan 5, 2026

See the code

README

Logo PHP library for Two Factor Authentication

Build status Latest Stable Version License Downloads PayPal donate button

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

  • Requires PHP version >=8.2

Optionally, you may need:

  • sockets if you are using NTPTimeProvider
  • endroid/qr-code if using EndroidQrCodeProvider or EndroidQrCodeWithLogoProvider.
  • bacon/bacon-qr-code if using BaconQrCodeProvider.
  • php-curl library when using an external QR Code provider such as QRServerProvider, ImageChartsQRCodeProvider, QRicketProvider or any other custom provider connecting to an external service.

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)

multi-factor
php
qrcode
security
totp
two-factor
twofactorauth

Project health

Overall

3.5/10

Maintained

0/10

Code review

10/10
OpenSSF Scorecard

Significant stargazers

Taylor Otwell

36,030 followers · starred Jan 2020

Marcus Bointon

834 followers · starred Sep 2016

Theodore Brown

60 followers · starred Jan 2023

Willem

65 followers · starred Apr 2015