From 5e1c9c4e9ac2ea19953e729f0e5497df8d579b07 Mon Sep 17 00:00:00 2001
From: SofianeLasri <alasri250@gmail.com>
Date: Thu, 20 Feb 2025 15:25:28 +0100
Subject: [PATCH] feat(middleware): improve private mode handling in
 CheckPrivateModeMiddleware

- Refactored the logic for redirecting to maintenance mode.
- Added check for authenticated users when private mode is enabled.
- Ensured non-authenticated users are redirected appropriately when accessing maintenance route.
---
 app/Http/Middleware/CheckPrivateModeMiddleware.php | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/app/Http/Middleware/CheckPrivateModeMiddleware.php b/app/Http/Middleware/CheckPrivateModeMiddleware.php
index 8d3bce4..7cf8140 100644
--- a/app/Http/Middleware/CheckPrivateModeMiddleware.php
+++ b/app/Http/Middleware/CheckPrivateModeMiddleware.php
@@ -14,9 +14,15 @@ public function handle(Request $request, Closure $next)
         $userSecretInput = $request->input('secret');
         $secretIsUsable = ! empty($privateModeSecret) && $privateModeSecret === $userSecretInput;
 
-        if ($privateModeEnabled && ! $secretIsUsable) {
-            return redirect()->route('maintenance');
-        } elseif (! $privateModeEnabled && $request->is('maintenance')) {
+        if ($privateModeEnabled) {
+            if (! $secretIsUsable && ! auth()->check()) {
+                if (! $request->is('maintenance')) {
+                    return redirect()->route('maintenance');
+                }
+            }
+        }
+
+        if (! $privateModeEnabled && $request->is('maintenance') && ! auth()->check()) {
             return redirect()->route('index');
         }
 
-- 
GitLab