File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Middleware/EnforceInactivityTimeout.php
Back
<?php namespace App\Http\Middleware; use App\Support\InactivitySessionTracker; use App\Support\SsoWebSession; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class EnforceInactivityTimeout { public function handle(Request $request, Closure $next): Response { $timeoutMinutes = (int) config('talent_bank.inactivity_timeout_minutes', 60); if ($timeoutMinutes < 1) { return $next($request); } $token = InactivitySessionTracker::resolveToken($request); if (! is_string($token) || $token === '') { return $next($request); } $cacheKey = InactivitySessionTracker::cacheKey($request, $token); $lastActivityAt = InactivitySessionTracker::lastActivityTimestamp($cacheKey); $expired = is_int($lastActivityAt) && (now()->timestamp - $lastActivityAt) > ($timeoutMinutes * 60); if ($expired) { InactivitySessionTracker::clear($cacheKey); SsoWebSession::forget(); if ($request->hasSession()) { $request->session()->invalidate(); $request->session()->regenerateToken(); } if ($request->expectsJson() || $request->is('api/*')) { return response()->json([ 'message' => __('auth.session_expired_inactivity'), 'session_expired' => true, 'login_url' => route('entrar'), ], 401); } return redirect() ->guest(route('entrar')) ->with('warning', __('auth.session_expired_inactivity')); } InactivitySessionTracker::touch($cacheKey, $timeoutMinutes); return $next($request); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings