fix(auth): secure sessions and app routing

Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-09-24 20:14:11 +03:30
co-authored by Copilot
parent 83edf721ba
commit 9854842ada
45 changed files with 285 additions and 184 deletions
+55 -40
View File
@@ -475,10 +475,15 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@oxc-parser/binding-win32-x64-msvc@0.131.0":
"@oxc-parser/binding-linux-x64-gnu@0.131.0":
version "0.131.0"
resolved "https://registry.npmmirror.com/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.131.0.tgz"
integrity sha512-o14Hk8dAyiEUMFEWEgmAwFZvBt1RzAYLM3xeQ+5315JXgVYhoemivgYcbYVRbsFkS71ShMGlAFE0kPnr460rww==
resolved "https://registry.npmmirror.com/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.131.0.tgz"
integrity sha512-JHK/h95qVqVQ+ITER837kcTdwBDFpFaNnOTYGCP0zdUSX/mLKC7tXOoyrTb6vG7iRPwGlcgBil3v2IjYw1FqJA==
"@oxc-parser/binding-linux-x64-musl@0.131.0":
version "0.131.0"
resolved "https://registry.npmmirror.com/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.131.0.tgz"
integrity sha512-b2BO82O8azXAyf7EUgOPKu145nWypbNyk07HbU09fkzhm9lEA5oPvaN/M8Nlo7tOErVTa2WOgS4QbOnxAPXdDQ==
"@oxc-project/types@^0.131.0":
version "0.131.0"
@@ -490,10 +495,10 @@
resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.142.0.tgz"
integrity sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==
"@oxlint/binding-win32-x64-msvc@1.74.0":
version "1.74.0"
resolved "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.74.0.tgz"
integrity sha512-VTC9IYTIMrVUk/i6Ms1ohzzDKZFkWn0KU2OBbPBzgmVZ2V30165T/zK4LztTr0Xgp9fZ1qQZ1rsZAu/rEmySlA==
"@oxlint/binding-linux-x64-gnu@1.73.0":
version "1.73.0"
resolved "https://registry.npmmirror.com/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.73.0.tgz"
integrity sha512-2CwIWr9cemFC/CbRBWZvuk5mffz6ObmfFkfcC/9rTQ7f+icNhYr2kOjf9Rt8lLvugvkdGDOmkoVoFFHh6ClCTw==
"@polka/url@^1.0.0-next.24":
version "1.0.0-next.29"
@@ -507,6 +512,16 @@
dependencies:
quansync "^1.0.0"
"@rolldown/binding-linux-x64-gnu@1.2.1":
version "1.2.1"
resolved "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.1.tgz"
integrity sha512-/Orga1fZYkLc/56jBICcHrKchl8Z2UKdDSr3LG9ToWO1lQ6a4Livk9Xz+9WN91zsz5QR3XQz2NNoSDEvP6qadw==
"@rolldown/binding-linux-x64-musl@1.2.1":
version "1.2.1"
resolved "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.1.tgz"
integrity sha512-xxBJRL+0q0Kce7orznGWLuylHDY65vuARXZRpX+hPdv+DqK2c3NlCsVA98tlWzWNEE7yPqA/1NQ5nnCrj49Y5A==
"@rolldown/binding-wasm32-wasi@1.2.1":
version "1.2.1"
resolved "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.2.1.tgz"
@@ -516,11 +531,6 @@
"@emnapi/runtime" "2.0.0-alpha.3"
"@napi-rs/wasm-runtime" "^1.2.0"
"@rolldown/binding-win32-x64-msvc@1.2.1":
version "1.2.1"
resolved "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.1.tgz"
integrity sha512-Z4eCmn5QJ/5+azF9knpLWKfVd9aidn0mAe9TpJgvBLId9Ax3t0+JVxBmT25Bv7NBbVW1TZyKjQjQReouMeH5UQ==
"@rolldown/pluginutils@^1.0.0", "@rolldown/pluginutils@^1.0.1":
version "1.0.1"
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz"
@@ -1532,9 +1542,9 @@ exsolve@^1.0.8:
resolved "https://registry.npmjs.org/exsolve/-/exsolve-1.1.1.tgz"
integrity sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==
"fabric-trade@file:../fabric-nademitex_user":
"fabric-trade@file:../nademitex_user":
version "0.0.0"
resolved "file:../fabric-nademitex_user"
resolved "file:../nademitex_user"
dependencies:
"@unocss/vite" "^66.7.5"
"@vueuse/core" "^14.4.0"
@@ -1790,10 +1800,15 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
lightningcss-win32-x64-msvc@1.33.0:
lightningcss-linux-x64-gnu@1.33.0:
version "1.33.0"
resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz"
integrity sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==
resolved "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz"
integrity sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==
lightningcss-linux-x64-musl@1.33.0:
version "1.33.0"
resolved "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz"
integrity sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==
lightningcss@^1.33.0:
version "1.33.0"
@@ -2053,30 +2068,30 @@ oxc-walker@^0.7.0:
dependencies:
magic-regexp "^0.10.0"
oxlint@~1.74.0:
version "1.74.0"
resolved "https://registry.npmjs.org/oxlint/-/oxlint-1.74.0.tgz"
integrity sha512-odGl2s2x5IOJoj3A0v1k0PGBXVFBZeZ2+AK/+K2MJur7Ghi3bkyX5NuLUWHKqa4js1wjep3hJeuTQJOlr+4+dA==
oxlint@~1.73.0:
version "1.73.0"
resolved "https://registry.npmmirror.com/oxlint/-/oxlint-1.73.0.tgz"
integrity sha512-u91G9TJzU6yqKWNZUYprQB07W7YvntZXaRxQ6CkoytepYhLWUXWsr1M8zUJ34VatNPuUAr3Z8GH+O2A331CluQ==
optionalDependencies:
"@oxlint/binding-android-arm-eabi" "1.74.0"
"@oxlint/binding-android-arm64" "1.74.0"
"@oxlint/binding-darwin-arm64" "1.74.0"
"@oxlint/binding-darwin-x64" "1.74.0"
"@oxlint/binding-freebsd-x64" "1.74.0"
"@oxlint/binding-linux-arm-gnueabihf" "1.74.0"
"@oxlint/binding-linux-arm-musleabihf" "1.74.0"
"@oxlint/binding-linux-arm64-gnu" "1.74.0"
"@oxlint/binding-linux-arm64-musl" "1.74.0"
"@oxlint/binding-linux-ppc64-gnu" "1.74.0"
"@oxlint/binding-linux-riscv64-gnu" "1.74.0"
"@oxlint/binding-linux-riscv64-musl" "1.74.0"
"@oxlint/binding-linux-s390x-gnu" "1.74.0"
"@oxlint/binding-linux-x64-gnu" "1.74.0"
"@oxlint/binding-linux-x64-musl" "1.74.0"
"@oxlint/binding-openharmony-arm64" "1.74.0"
"@oxlint/binding-win32-arm64-msvc" "1.74.0"
"@oxlint/binding-win32-ia32-msvc" "1.74.0"
"@oxlint/binding-win32-x64-msvc" "1.74.0"
"@oxlint/binding-android-arm-eabi" "1.73.0"
"@oxlint/binding-android-arm64" "1.73.0"
"@oxlint/binding-darwin-arm64" "1.73.0"
"@oxlint/binding-darwin-x64" "1.73.0"
"@oxlint/binding-freebsd-x64" "1.73.0"
"@oxlint/binding-linux-arm-gnueabihf" "1.73.0"
"@oxlint/binding-linux-arm-musleabihf" "1.73.0"
"@oxlint/binding-linux-arm64-gnu" "1.73.0"
"@oxlint/binding-linux-arm64-musl" "1.73.0"
"@oxlint/binding-linux-ppc64-gnu" "1.73.0"
"@oxlint/binding-linux-riscv64-gnu" "1.73.0"
"@oxlint/binding-linux-riscv64-musl" "1.73.0"
"@oxlint/binding-linux-s390x-gnu" "1.73.0"
"@oxlint/binding-linux-x64-gnu" "1.73.0"
"@oxlint/binding-linux-x64-musl" "1.73.0"
"@oxlint/binding-openharmony-arm64" "1.73.0"
"@oxlint/binding-win32-arm64-msvc" "1.73.0"
"@oxlint/binding-win32-ia32-msvc" "1.73.0"
"@oxlint/binding-win32-x64-msvc" "1.73.0"
p-limit@^3.0.2:
version "3.1.0"