public function loginByUnionField($nameMap, $password) { $db = db::getInstance(); $nameMap = $this->filterUnionField($nameMap); $where = ['AND' => ['AND' => $nameMap, 'password' => $password]]; $user = $db->get('aspa_account', ['id'], $where); if (!$user) { throw new APIException(1); return false; } $token = utils::generateToken($user['id']); $db->update('aspa_account', ['web_token' => $token, 'web_token_create_time' => utils::datetimePHP2Mysql(time())], ['id' => $user['id']]); $user = $this->authenticateByWebToken($user['id'], $token); return $user; }
public function store($code, $type) { $codeId = utils::generateUniqueId(); $session = session::getInstance(); $createTime = utils::datetimePHP2Mysql(time()); $codes = $session->get('AliceSPA_VerificationCodes'); if (empty($codes)) { $codes = []; } if (empty($codes[$type])) { $codes[$type] = []; } $codes[$type][$codeId] = ['Code' => $code, 'CreateTime' => $createTime]; if ($session->set('AliceSPA_VerificationCodes', $codes) === false) { return false; } return $codeId; }
public function clearSessions() { $db = db::getInstance(); $db->delete('aspa_session', ['create_time[<]' => utils::datetimePHP2Mysql(time() - configHelper::getCoreConfig()['sessionValidTime'])]); return true; }