Implement session inactivity expiration handling.

This commit is contained in:
netkas 2025-01-03 21:22:02 -05:00
parent b9b7b23e9e
commit e9269a24fc
4 changed files with 32 additions and 1 deletions

View file

@ -3,6 +3,7 @@
namespace Socialbox\Objects\Database;
use DateTime;
use Socialbox\Classes\Configuration;
use Socialbox\Enums\Flags\SessionFlags;
use Socialbox\Enums\SessionState;
use Socialbox\Interfaces\SerializableInterface;
@ -165,6 +166,12 @@
*/
public function getState(): SessionState
{
$expires = time() + Configuration::getPoliciesConfiguration()->getSessionInactivityExpires();
if($this->lastRequest !== null && $this->lastRequest->getTimestamp() > $expires)
{
return SessionState::EXPIRED;
}
return $this->state;
}