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)); } }