3 declare(strict_types
=1);
5 namespace Shaarli\Front\Controller\Admin
;
7 use Shaarli\Security\LoginManager
;
9 use Slim\Http\Response
;
12 * Class LogoutController
14 * Slim controller used to logout the user.
15 * It invalidates page cache and terminate the user session. Then it redirects to the homepage.
17 class LogoutController
extends ShaarliAdminController
19 public function index(Request
$request, Response
$response): Response
21 $this->container
->pageCacheManager
->invalidateCaches();
22 $this->container
->sessionManager
->logout();
24 // TODO: switch to a simple Cookie manager allowing to check the session, and create mocks.
25 setcookie(LoginManager
::$STAY_SIGNED_IN_COOKIE, 'false', 0, $this->container
->webPath
);
27 return $response->withRedirect('./');