1. Go to this page and download the library: Download shrikant/otp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shrikant / otp example snippets
use Shrikant\OTP\OTP;
use Shrikant\OTP\Storage\OTPStoreInterface;
class SessionStore implements OTPStoreInterface {
public function set(string $key, string $otp, int $ttl): void {
$_SESSION[$key] = ['otp' => $otp, 'expires' => time() + $ttl];
}
public function get(string $key): ?string {
return ($_SESSION[$key]['expires'] ?? 0) > time()
? $_SESSION[$key]['otp']
: null;
}
public function delete(string $key): void {
unset($_SESSION[$key]);
}
}
session_start();
$otpService = new OTP(new SessionStore());
$otp = $otpService->generate('user:email', 6, 300); // Generate 6-digit OTP valid for 5 minutes
// Later...
if ($otpService->validate('user:email', $_POST['otp'])) {
echo "Valid!";
} else {
echo "Invalid!";
}
interface OTPStoreInterface {
public function set(string $key, string $otp, int $ttl): void;
public function get(string $key): ?string;
public function delete(string $key): void;
}