From d9486f38c4a4644005aeb4f9e9cf794485adfb1a Mon Sep 17 00:00:00 2001 From: Ariel Weinberger Date: Thu, 3 Jul 2025 10:54:51 -0500 Subject: [PATCH 1/2] fix: jwt auth database selection for admin mode Use dbForPlatform for JWT user lookup in admin mode --- app/init/resources.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/init/resources.php b/app/init/resources.php index aa04b46e1f..474c802bb2 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -264,7 +264,11 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons $jwtUserId = $payload['userId'] ?? ''; if (!empty($jwtUserId)) { - $user = $dbForProject->getDocument('users', $jwtUserId); + if (APP_MODE_ADMIN !== $mode) { + $user = $dbForProject->getDocument('users', $jwtUserId); + } else { + $user = $dbForPlatform->getDocument('users', $jwtUserId); + } } $jwtSessionId = $payload['sessionId'] ?? ''; From 199b9f7e6d7f79f7ce2d9f09022670f8f7cd66ec Mon Sep 17 00:00:00 2001 From: Ariel Weinberger Date: Thu, 3 Jul 2025 11:06:36 -0500 Subject: [PATCH 2/2] fix nitpick --- app/init/resources.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/init/resources.php b/app/init/resources.php index 474c802bb2..ac9159d2f2 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -222,7 +222,9 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons Auth::$unique = $session['id'] ?? ''; Auth::$secret = $session['secret'] ?? ''; - if (APP_MODE_ADMIN !== $mode) { + if ($mode === APP_MODE_ADMIN) { + $user = $dbForPlatform->getDocument('users', Auth::$unique); + } else { if ($project->isEmpty()) { $user = new Document([]); } else { @@ -232,8 +234,6 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons $user = $dbForProject->getDocument('users', Auth::$unique); } } - } else { - $user = $dbForPlatform->getDocument('users', Auth::$unique); } if ( @@ -264,10 +264,10 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons $jwtUserId = $payload['userId'] ?? ''; if (!empty($jwtUserId)) { - if (APP_MODE_ADMIN !== $mode) { - $user = $dbForProject->getDocument('users', $jwtUserId); - } else { + if ($mode === APP_MODE_ADMIN) { $user = $dbForPlatform->getDocument('users', $jwtUserId); + } else { + $user = $dbForProject->getDocument('users', $jwtUserId); } }