From 61ab206032fbff01ab0bbbfc33a5a1400c20aaf9 Mon Sep 17 00:00:00 2001 From: qian Date: Tue, 23 Jun 2026 23:23:28 +0800 Subject: [PATCH] =?UTF-8?q?chore:=E7=A7=BB=E9=99=A4=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../000011_add_admin_lockout_and_totp_fix.sql | 22 ------------------- ...00012_fix_project_keys_and_open_secret.sql | 11 ---------- 2 files changed, 33 deletions(-) delete mode 100644 migrations/000011_add_admin_lockout_and_totp_fix.sql delete mode 100644 migrations/000012_fix_project_keys_and_open_secret.sql diff --git a/migrations/000011_add_admin_lockout_and_totp_fix.sql b/migrations/000011_add_admin_lockout_and_totp_fix.sql deleted file mode 100644 index 4f93f23..0000000 --- a/migrations/000011_add_admin_lockout_and_totp_fix.sql +++ /dev/null @@ -1,22 +0,0 @@ --- +goose Up - --- P1-1: 管理员暴力破解防护 — 新增失败计数和锁定字段 -ALTER TABLE sys_admin_users - ADD COLUMN failed_attempts INT DEFAULT 0 NOT NULL, - ADD COLUMN locked_until TIMESTAMPTZ; - -COMMENT ON COLUMN sys_admin_users.failed_attempts IS '连续登录失败次数(成功登录后归零)'; -COMMENT ON COLUMN sys_admin_users.locked_until IS '锁定截止时间(连续5次失败后锁定30分钟)'; - --- P1-3: TOTP 密钥列宽度不足 — AES-GCM 加密 + base64 编码后约 80 字符,原 VARCHAR(64) 溢出 -ALTER TABLE sys_admin_users ALTER COLUMN totp_secret TYPE VARCHAR(255); -ALTER TABLE tnt_users ALTER COLUMN totp_secret TYPE VARCHAR(255); - --- +goose Down - -ALTER TABLE sys_admin_users - DROP COLUMN IF EXISTS failed_attempts, - DROP COLUMN IF EXISTS locked_until; - -ALTER TABLE sys_admin_users ALTER COLUMN totp_secret TYPE VARCHAR(64); -ALTER TABLE tnt_users ALTER COLUMN totp_secret TYPE VARCHAR(64); diff --git a/migrations/000012_fix_project_keys_and_open_secret.sql b/migrations/000012_fix_project_keys_and_open_secret.sql deleted file mode 100644 index 325edb6..0000000 --- a/migrations/000012_fix_project_keys_and_open_secret.sql +++ /dev/null @@ -1,11 +0,0 @@ --- +goose Up -ALTER TABLE opn_apps ADD COLUMN IF NOT EXISTS encrypted_secret TEXT; -COMMENT ON COLUMN opn_apps.encrypted_secret IS 'AES-256 encrypted App Secret for HMAC verification'; - -UPDATE api_keys -SET key_type = 'project' -WHERE project_id IS NOT NULL - AND key_type = 'personal'; - --- +goose Down -ALTER TABLE opn_apps DROP COLUMN IF EXISTS encrypted_secret;