From 3f21ddeab134bcc4a0a43ffe0c01b539a15cf946 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 31 Oct 2025 12:10:00 +0200 Subject: [PATCH] add auth and csrf-twig middleware --- src/MiddleWare/AuthMiddleware.php | 27 ++++++++++++++++++++++++ src/MiddleWare/CsrfToTwigMiddleware.php | 28 +++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/MiddleWare/AuthMiddleware.php create mode 100644 src/MiddleWare/CsrfToTwigMiddleware.php diff --git a/src/MiddleWare/AuthMiddleware.php b/src/MiddleWare/AuthMiddleware.php new file mode 100644 index 0000000..b95db60 --- /dev/null +++ b/src/MiddleWare/AuthMiddleware.php @@ -0,0 +1,27 @@ +handle($request); + } + + $uri = $request->getUri()->getPath(); + if ($uri !== '/login' && $uri !== '/logout') { + $_SESSION['intended'] = $uri; + } + $resp = new SlimResponse(302); + + return $resp->withHeader('Location', '/login'); + } +} diff --git a/src/MiddleWare/CsrfToTwigMiddleware.php b/src/MiddleWare/CsrfToTwigMiddleware.php new file mode 100644 index 0000000..c17bc1d --- /dev/null +++ b/src/MiddleWare/CsrfToTwigMiddleware.php @@ -0,0 +1,28 @@ +getAttribute('csrf_name'); + $valueKey = $request->getAttribute('csrf_value'); + + $this->twig->getEnvironment()->addGlobal('csrf', [ + 'name' => $nameKey, + 'value' => $valueKey, + ]); + + return $handler->handle($request); + } +}