public function getToken(array $json, $rota, $validade, $acessounico = false, $pessoa = []) { $token = Data::uid(); if ($pessoa) { $token = strstr($pessoa['email'], '@', true) . "@" . $token; } $this->db->insert(new \Meister\Meister\Document\Hash(), ["token" => $token, "json" => json_encode($json), "rota" => $rota, "datavalidade" => $validade, "acessounico" => $acessounico, "ativo" => true]); return $token; }
private function getPrefix() { if (isset($_COOKIE['uid'])) { $uidSession = $_COOKIE['uid']; setcookie("uid", $uidSession, time() + $this->time); $values = $this->cache->getAll($uidSession . '/'); foreach ($values as $val) { $this->cache->expire($val, $this->time); } return $uidSession . '/'; } $uidSession = Data::uid(); setcookie("uid", $uidSession, time() + $this->time); return $uidSession . '/'; }
public function getToken($id, $pass) { $fprikey = $this->app['BASE_DIR'] . "/app/config/key/private.pkey"; $fpubkey = $this->app['BASE_DIR'] . "/app/config/key/public.pkey"; if (!file_exists($fpubkey) || !file_exists($fprikey)) { throw new \Exception('Chaves não configuradas!!!', 500); } $sign = new Sha512(); $pkey = new Key("file://" . $fprikey); $uid = Data::uid(); $token = (new Builder())->setIssuer($_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'])->setIssuedAt(time())->setNotBefore(time() + 1)->setExpiration(time() + $this->config['session']['timetoken'])->setId($uid, true)->set('id', $id)->set('sys', md5($_SERVER['HTTP_USER_AGENT']))->set('cod', Crypt::mycrypt_encrypt(md5(file_get_contents($fprikey)), base64_encode($pass)))->sign($sign, $pkey)->getToken(); ob_start(); echo $token; $tkn = ob_get_contents(); ob_end_clean(); $this->db->insert($this->SessionEntity, ["user" => $id, "uid" => $uid, "browser" => $_SERVER['HTTP_USER_AGENT']]); $this->session->set('uid', $uid); return $tkn; }