<?php /** * Google authenticator example * * @filesource example.php * @created 06.12.2015 * @author Smiley <*****@*****.**> * @copyright 2015 Smiley * @license MIT */ require_once '../vendor/autoload.php'; use chillerlan\GoogleAuth\Authenticator; // change the code length Authenticator::setDigits(8); // set validation period (seconds) Authenticator::setPeriod(45); // create a secret $secret = Authenticator::createSecret(); // get a one time code $code = Authenticator::getCode($secret); // create an URI for use in e.g. QR codes $label = 'test'; $issuer = 'chillerlan.net'; Authenticator::getUri($secret, $label, $issuer); Authenticator::getGoogleQr($secret, $label, $issuer); // verify the code Authenticator::verifyCode($code, $secret);
public function testGetUri() { $values = ['secret' => $this->secret, 'issuer' => $this->issuer]; $expected = 'otpauth://totp/' . $this->label . '?'; $this->assertEquals($expected . http_build_query($values), Authenticator::getUri($this->secret, $this->label, $this->issuer)); Authenticator::setDigits(8); $values['digits'] = Authenticator::$digits; $this->assertEquals($expected . http_build_query($values), Authenticator::getUri($this->secret, $this->label, $this->issuer)); Authenticator::setPeriod(45); $values['period'] = Authenticator::$period; $this->assertEquals($expected . http_build_query($values), Authenticator::getUri($this->secret, $this->label, $this->issuer)); }