X-Git-Url: http://git.pjr.cc/?p=ga4php.git;a=blobdiff_plain;f=lib%2Fga4php.php;fp=lib%2Fga4php.php;h=2be25ff2828e56c460187e1281ad112004b616df;hp=0645657ff6b594bc8698b0788353ed98673adc0d;hb=aca6e69a5eaa260bf6a7f676f31e43dd8e1e6158;hpb=2245953d256f03c5803faecf00a07b70d250a6fc diff --git a/lib/ga4php.php b/lib/ga4php.php index 0645657..2be25ff 100644 --- a/lib/ga4php.php +++ b/lib/ga4php.php @@ -19,6 +19,8 @@ abstract class GoogleAuthenticator { $this->hotpHuntValue = $hotphuntvalue; } + // pure abstract functions that need to be overloaded when + // creating a sub class abstract function getData($username); abstract function putData($username, $data); abstract function getUsers(); @@ -30,12 +32,13 @@ abstract class GoogleAuthenticator { $data["tokentimer"] = 30; // the token timer (For totp) and not supported by ga yet $data["tokencounter"] = 1; // the token counter for hotp $data["tokenalgorithm"] = "SHA1"; // the token algorithm (not supported by ga yet) - $data["user1"] = ""; // a place for implementors to store their own data + $data["user"] = ""; // a place for implementors to store their own data return $data; } - // an internal funciton to get + // an internal funciton to get data from the overloaded functions + // and turn them into php arrays. function internalGetData($username) { $data = $this->getData($username); $deco = unserialize(base64_decode($data)); @@ -47,7 +50,8 @@ abstract class GoogleAuthenticator { return $deco; } - + // the function used inside the class to put the data into the + // datastore using the overloaded data saving class function internalPutData($username, $data) { $enco = base64_encode(serialize($data)); @@ -60,7 +64,7 @@ abstract class GoogleAuthenticator { // so lets not be able to set that yet function setTokenType($username, $tokentype) { $tokentype = strtoupper($tokentype); - if($tokentype!="HOTP" and $tokentype!="TOTP") { + if($tokentype!="HOTP" && $tokentype!="TOTP") { $errorText = "Invalid Token Type"; return false; } @@ -74,6 +78,8 @@ abstract class GoogleAuthenticator { // create "user" with insert function setUser($username, $ttype="HOTP", $key = "", $hexkey="") { + $ttype = strtoupper($ttype); + if($ttype != "HOTP" && $ttype !="TOTP") return false; if($key == "") $key = $this->createBase32Key(); $hkey = $this->helperb322hex($key); if($hexkey != "") $hkey = $hexkey; @@ -88,7 +94,7 @@ abstract class GoogleAuthenticator { return $key; } - + // a function to determine if the user has an actual token function hasToken($username) { $token = $this->internalGetData($username); // TODO: change this to a pattern match for an actual key