twoFa = new Auth('Grav', 6, 30, 'sha1', new BaconQrProvider); } /** * @return Auth */ public function get2FA() { return $this->twoFa; } /** * @param int $bits * @return string * @throws TwoFactorAuthException */ public function createSecret($bits = 160) { return $this->twoFa->createSecret($bits); } /** * @param string $secret * @param string $code * @return bool */ public function verifyCode($secret, $code) { $secret = str_replace(' ', '', $secret); return $this->twoFa->verifyCode($secret, $code); } /** * @param string $username * @param string $secret * @return string * @throws TwoFactorAuthException */ public function getQrImageData($username, $secret) { $label = $username . ':' . Grav::instance()['config']->get('site.title'); $secret = str_replace(' ', '', $secret); return $this->twoFa->getQRCodeImageAsDataUri($label, $secret); } }