修复认证挑战与可信代理安全边界(07-17-auth-challenge-trusted-proxy-hardening)

这个提交包含在:
2026-07-17 14:24:58 +08:00
父节点 bbb5c89825
当前提交 6ddedf1e0e
共修改 31 个文件,包含 3801 行新增和 419 行删除
+14 -1
查看文件
@@ -5,13 +5,26 @@ DATABASE_URL="<local-postgresql-url>"
# 仅需主动轮换已有开发账号时开启;轮换后账号必须首次登录改密。
# SEED_DEV_RESET_PASSWORDS="0"
JWT_SECRET="<generate-a-local-secret>"
AUTH_CODE_PEPPER="<generate-a-separate-random-secret>"
# ===== 敏感字段加密(F25)=====
# 用于员工银行卡/身份证等字段的可逆加密(AES-256-GCM)。
# 生成方式示例:openssl rand -base64 32
# FIELD_ENCRYPTION_KEY=""
# APP_ORIGIN="https://oa.hyinda.com"
# COOKIE_SECURE="true"
# DEV_SHOW_PASSWORD_RESET_CODE="true"
# TRUST_PROXY_HOPS="0" # 本机开发默认不信任 X-Forwarded-For;受控单跳反代使用 1
# PASSWORD_RESET_CODE_TTL_SECONDS="600"
# PASSWORD_RESET_FAIL_WINDOW_SECONDS="1800"
# PASSWORD_RESET_MAX_ATTEMPTS="5"
# PASSWORD_RESET_LOCK_SECONDS="1800"
# PASSWORD_RESET_REQUEST_WINDOW_SECONDS="3600"
# PASSWORD_RESET_REQUEST_MAX="3"
# AUTH_CODE_REQUEST_COOLDOWN_SECONDS="60"
# EMAIL_LOGIN_CODE_TTL_SECONDS="600"
# EMAIL_LOGIN_CODE_MAX_ATTEMPTS="5"
# EMAIL_LOGIN_CODE_FAIL_WINDOW_SECONDS="1800"
# EMAIL_LOGIN_CODE_LOCK_SECONDS="1800"
# DEV_SHOW_PASSWORD_RESET_CODE="false"
APP_TIMEZONE="Asia/Shanghai"
STORAGE_DIR="generated/storage"
# STORAGE_DRIVER="local" # local|s3(MinIO/S3 兼容)