From de33ff34928f64df4cd85610181618cf75f963cd Mon Sep 17 00:00:00 2001 From: phamnazage-jpg Date: Thu, 28 May 2026 11:01:29 +0800 Subject: [PATCH] feat(admin): add session-based portal login --- .env.example | 3 + deploy/tksea-portal/admin-batch-import.html | 119 +++++++- deploy/tksea-portal/admin/providers.html | 118 +++++++- docs/DEPLOYMENT.md | 17 +- docs/EXECUTION_BOARD.md | 14 +- internal/app/admin_auth.go | 278 ++++++++++++++++++ internal/app/app_test.go | 140 ++++++++- internal/app/bootstrap.go | 11 +- internal/app/http_api.go | 92 +++--- internal/config/config.go | 27 ++ internal/config/config_test.go | 59 ++++ scripts/deploy/remote43_patched_stack_lib.sh | 9 +- .../deploy/setup_remote43_patched_stack.sh | 6 +- scripts/test/test_real_host_scripts.sh | 5 +- scripts/test/test_tksea_portal_assets.sh | 10 + 15 files changed, 833 insertions(+), 75 deletions(-) create mode 100644 internal/app/admin_auth.go diff --git a/.env.example b/.env.example index 75b09a86..72f03dc5 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,6 @@ SUB2API_CRM_LISTEN_ADDR=:8080 SUB2API_CRM_SQLITE_DSN=file:/data/sub2api-cn-relay-manager.db?_foreign_keys=on&_busy_timeout=5000 SUB2API_CRM_ADMIN_TOKEN=change-me-before-production +SUB2API_CRM_ADMIN_USERNAME=admin +SUB2API_CRM_ADMIN_PASSWORD=change-me-before-production +SUB2API_CRM_ADMIN_SESSION_TTL=12h diff --git a/deploy/tksea-portal/admin-batch-import.html b/deploy/tksea-portal/admin-batch-import.html index 7d7c29a7..683aad29 100644 --- a/deploy/tksea-portal/admin-batch-import.html +++ b/deploy/tksea-portal/admin-batch-import.html @@ -412,7 +412,7 @@

发起导入

- 用 admin token 直接调用当前控制面的 batch-import API。 + 优先使用管理员登录会话调用当前控制面的 batch-import API;必要时也可以回退到 Bearer token。 `entries` 每行一个供应商帐号:`base_url|api_key|model_a,model_b`。

@@ -426,8 +426,9 @@
-
+ +
+ + + 尚未检查管理员会话。 +
+
-
+
+ + +
+ +
+ + + 尚未检查管理员会话。 +
+