public function check($codeId, $code, $type, $validTime = null) { $session = session::getInstance(); $codes = $session->get('AliceSPA_VerificationCodes'); if (empty($codes)) { return false; } if (empty($codes[$type])) { return false; } if (empty($codes[$type][$codeId])) { return false; } $c = $codes[$type][$codeId]; if (empty($c)) { return false; } if ($c['Code'] === $code && ($validTime === null || utils::datetimeMysql2PHP($c['CreateTime']) > time() - $validTime)) { return true; } return false; }
public function authenticateByWebToken($userId, $webToken) { $db = db::getInstance(); $user = $db->get('aspa_account', '*', ['AND' => ['id' => $userId, 'web_token' => $webToken]]); if (!$user) { throw new APIException(1); return false; } $web_token_create_time = $user['web_token_create_time']; if (empty($web_token_create_time)) { return false; } if (time() - utils::datetimeMysql2PHP($web_token_create_time) > configHelper::getCoreConfig()['webTokenValidTime']) { return false; } unset($user['password']); unset($user['web_token_create_time']); $this->isLoggedIn = true; $this->userInfo = $user; return $this->userInfo; }