后台登录改造:自建登录页 + Cookie 会话,弃用 basic auth 弹窗
- editor-api 新增 /admin/login|session|logout:HttpOnly Cookie 会话(落盘持久化)、 登录失败限速(5 次锁 5 分钟)、鉴权改为「X-Editor-Token 或 会话」双通道 - 登录页重做:品牌标识、图标输入框、密码可见切换、柔光背景,深浅色适配 - 前端以 /admin/session 探测部署模式:国内机走本机会话,CF 版走原令牌流程 - nginx:/admin/ 与 /api/v2/editor/ 去掉 basic auth 与令牌注入,登录凭据只存 Cookie - bootstrap.sh 同步 ADMIN_USER/ADMIN_PASS,保持一键迁移能力
This commit is contained in:
1 parent
96751b8143
commit
9f586d625b
5 files changed
+484
-39
No files matched your search
@@ -15,6 +15,8 @@
|
||||
# CNB_TOKEN CNB 访问令牌(用户名固定 cnb)。只用于 git clone 与 push。
|
||||
# EDITOR_TOKEN 与 Cloudflare Worker 里 EDITOR_TOKEN **完全相同**的共享令牌
|
||||
# (Worker 转发时会带上,后端用它鉴权;浏览器永远看不到)
|
||||
# ADMIN_PASS 后台登录页的密码(账号固定 admin,默认 3070210zz)。
|
||||
# 后台登录走 editor-api 签发的 Cookie 会话,不再用 nginx basic auth。
|
||||
#
|
||||
# 可选环境变量(都有默认值):
|
||||
# CNB_URL 默认 https://cnb.cool/zqlit/blog.git
|
||||
@@ -35,6 +37,7 @@ die() { printf '\033[1;31m!! %s\033[0m\n' "$*" >&2; exit 1; }
|
||||
|
||||
: "${CNB_TOKEN:?必须设置 CNB_TOKEN(CNB 访问令牌,用户名固定 cnb)}"
|
||||
: "${EDITOR_TOKEN:?必须设置 EDITOR_TOKEN(与 Cloudflare Worker 里的一致)}"
|
||||
: "${ADMIN_PASS:?必须设置 ADMIN_PASS(后台登录密码,账号固定 admin)}"
|
||||
|
||||
CNB_URL="${CNB_URL:-https://cnb.cool/zqlit/blog.git}"
|
||||
GH_URL="${GH_URL:-git@github.com:zqlit/blog.git}"
|
||||
@@ -93,6 +96,8 @@ umask 077
|
||||
# 用 printf 而不是 heredoc:令牌里若含 $ 或反引号,heredoc 会被 shell 展开
|
||||
{
|
||||
printf 'EDITOR_TOKEN=%s\n' "$EDITOR_TOKEN"
|
||||
printf 'ADMIN_USER=%s\n' "${ADMIN_USER:-admin}"
|
||||
printf 'ADMIN_PASS=%s\n' "$ADMIN_PASS"
|
||||
printf 'BLOG_DIR=%s\n' "$BLOG_DIR"
|
||||
printf 'TRASH_DIR=%s\n' "$TRASH_DIR"
|
||||
printf 'BIND_PORT=%s\n' "$BIND_PORT"
|
||||
@@ -142,6 +147,8 @@ services:
|
||||
GIT_AUTHOR_NAME: \${GIT_AUTHOR_NAME:-blog-editor}
|
||||
GIT_AUTHOR_EMAIL: \${GIT_AUTHOR_EMAIL:-editor@usj.cc}
|
||||
BLOG_BASE: \${BLOG_BASE:-}
|
||||
ADMIN_USER: \${ADMIN_USER:-admin}
|
||||
ADMIN_PASS: \${ADMIN_PASS:?}
|
||||
MAX_UPLOAD_MB: "20"
|
||||
GIT_PATHS: content,static
|
||||
volumes:
|
||||
|
||||
Reference in new issue
Block a user