feat(security): 启动时自动迁移并持久化JWT密钥
- 新增 security_secrets 表及 Ent schema 用于存储系统级密钥 - 启动阶段支持无 jwt.secret 配置并在数据库中自动生成持久化 - 在 Ent 初始化后补齐密钥并执行完整配置校验 - 增加并发与异常分支单元测试,覆盖密钥引导核心路径 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
10
backend/migrations/053_add_security_secrets.sql
Normal file
10
backend/migrations/053_add_security_secrets.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
-- 存储系统级密钥(如 JWT 签名密钥、TOTP 加密密钥)
|
||||
CREATE TABLE IF NOT EXISTS security_secrets (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
key VARCHAR(100) NOT NULL UNIQUE,
|
||||
value TEXT NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_security_secrets_key ON security_secrets (key);
|
||||
Reference in New Issue
Block a user