PHP code example of xp-forge / google-authenticator
1. Go to this page and download the library: Download xp-forge/google-authenticator 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/ */
xp-forge / google-authenticator example snippets
use com\google\authenticator\{TimeBased, Tolerance};
use util\Secret;
$secret= new Secret('2BX6RYQ4MD5M46KP');
$timebased= new TimeBased($secret);
$time= time();
// Get token for a given time
$token= $timebased->at($time);
$token= $timebased->current();
// Must match exactly
$verified= $timebased->verify($token, $time, Tolerance::$NONE);
// Allows previous and next
$verified= $timebased->verify($token);
$verified= $timebased->verify($token, $time);
$verified= $timebased->verify($token, $time, Tolerance::$PREVIOUS_AND_NEXT);
use com\google\authenticator\{CounterBased, Tolerance};
use util\Secret;
$secret= new Secret('2BX6RYQ4MD5M46KP');
$counterbased= new CounterBased($secret);
$counter= 0;
// Get token for a given counter
$token= $counterbased->at($counter);
// Must match exactly
$verified= $counterbased->verify($token, $counter, Tolerance::$NONE);
// Allows previous and next
$verified= $counterbased->verify($token, $counter);
$verified= $counterbased->verify($token, $counter, Tolerance::$PREVIOUS_AND_NEXT);
use com\google\authenticator\{CounterBased, TimeBased, Secrets};
$random= Secrets::random();
// HOTP, otpauth://hotp/{account}?secret={secret}&counter={counter}
$counterbased= new CounterBased($random);
$uri= $counterbased->provisioningUri($account); // Start with counter= 0
$uri= $counterbased->provisioningUri($account, $initial); // Start with counter= $initial
// TOTP, otpauth://totp/{account}?secret={secret}
$timebased= new TimeBased($random);
$uri= $timebased->provisioningUri($account);
// Pass a map of string to append additional parameters
$uri= $timebased->provisioningUri($account, ['issuer' => 'ACME Co']);
// Pass an array to namespace the account, yields "ACME%20Co:[email protected]"
$uri= $timebased->provisioningUri(['ACME Co', '[email protected]']);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.