Example #1
0
 public function test_it_returns_the_provisioning_uri()
 {
     $o = new \OTPHP\TOTP('JDDK4U6G3BJLEZ7Y');
     $this->assertEquals("otpauth://totp/name?secret=JDDK4U6G3BJLEZ7Y", $o->provisioning_uri('name'));
 }
 function otpqrcode()
 {
     require_once "lib/otphp/vendor/base32.php";
     require_once "lib/otphp/lib/otp.php";
     require_once "lib/otphp/lib/totp.php";
     require_once "lib/phpqrcode/phpqrcode.php";
     $result = db_query($this->link, "SELECT login,salt,otp_enabled\n\t\t\tFROM ttrss_users\n\t\t\tWHERE id = " . $_SESSION["uid"]);
     $base32 = new Base32();
     $login = db_fetch_result($result, 0, "login");
     $otp_enabled = sql_bool_to_bool(db_fetch_result($result, 0, "otp_enabled"));
     if (!$otp_enabled) {
         $secret = $base32->encode(sha1(db_fetch_result($result, 0, "salt")));
         $topt = new \OTPHP\TOTP($secret);
         print QRcode::png($topt->provisioning_uri($login));
     }
 }