. */ namespace SP\Core\Crypt; use SP\Core\SessionFactory as CoreSession; /** * Class Session * * @package SP\Core\Crypt */ class Session { /** * Devolver la clave maestra de la sesión * * @return string * @throws \Defuse\Crypto\Exception\CryptoException * @todo Use session from DI */ public static function getSessionKey() { return CoreSession::getVault()->getData(); } /** * Guardar la clave maestra en la sesión * * @param $data * @throws \Defuse\Crypto\Exception\CryptoException * @todo Use session from DI */ public static function saveSessionKey($data) { CoreSession::setVault((new Vault())->saveData($data)); } /** * Regenerar la clave de sesión * * @param \SP\Core\Context\SessionContext $session * @throws \Defuse\Crypto\Exception\CryptoException */ public static function reKey(\SP\Core\Context\SessionContext $session) { debugLog(__METHOD__); $oldSeed = session_id() . $session->getSidStartTime(); session_regenerate_id(true); $newSeed = session_id() . $session->setSidStartTime(time()); CoreSession::setVault(CoreSession::getVault()->reKey($newSeed, $oldSeed)); } }