Files
finansePRO/app/Filters/AuthFilter.php
T
2026-07-12 19:21:35 +02:00

39 lines
1001 B
PHP

<?php
namespace App\Filters;
use App\Models\RememberTokenModel;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
/**
* Chroni trasy: brak sesji logged_in -> przekierowanie na /login.
*/
class AuthFilter implements FilterInterface
{
public function before(RequestInterface $request, $arguments = null)
{
if (session()->get('logged_in')) {
return;
}
$token = (string) $request->getCookie('remember_token');
if ($token !== '' && (new RememberTokenModel())->verifyToken($token)) {
session()->set([
'logged_in' => true,
'user_email' => (string) env('user_email'),
]);
return;
}
return redirect()->to('/login')->deleteCookie('remember_token', '', '/');
}
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
{
// brak
}
}