示例#1
0
 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;
 }
示例#3
0
 public function clearSessions()
 {
     $db = db::getInstance();
     $db->delete('aspa_session', ['create_time[<]' => utils::datetimePHP2Mysql(time() - configHelper::getCoreConfig()['sessionValidTime'])]);
     return true;
 }