Designed to be a vendor-agnostic implementation of various Two-Factor Authentication solutions.
Developed by Paragon Initiative Enterprises for use in our own projects. It's released under a dual license: GPL and MIT. As with all dual-licensed projects, feel free to choose the license that fits your needs.
- PHP 7.2+
- As per Paragon Initiative Enterprise's commitment to open source, all new software will no longer be written for PHP 5.
composer require paragonie/multi-factor
<?php
use ParagonIE\MultiFactor\OneTime;
use ParagonIE\MultiFactor\OTP\TOTP;
$seed = random_bytes(20);
// You can use TOTP or HOTP
$otp = new OneTime($seed, new TOTP());
if (\password_verify($_POST['password'], $storedHash)) {
if ($otp->validateCode($_POST['2facode'], time())) {
// Login successful
}
}