3 declare(strict_types
=1);
5 namespace Shaarli\Front\Controller\Admin
;
7 use Shaarli\Security\CookieManager
;
8 use Shaarli\Security\LoginManager
;
10 use Slim\Http\Response
;
13 * Class LogoutController
15 * Slim controller used to logout the user.
16 * It invalidates page cache and terminate the user session. Then it redirects to the homepage.
18 class LogoutController
extends ShaarliAdminController
20 public function index(Request
$request, Response
$response): Response
22 $this->container
->pageCacheManager
->invalidateCaches();
23 $this->container
->sessionManager
->logout();
24 $this->container
->cookieManager
->setCookieParameter(
25 CookieManager
::STAY_SIGNED_IN
,
28 $this->container
->basePath
. '/'
31 return $this->redirect($response, '/');