From 7fc3123b5a40d1b0650dfa19d604a4f85b0a6593 Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 23 Feb 2026 21:49:31 -0800 Subject: [PATCH] =?UTF-8?q?fix(auth):=20=E8=A1=A5=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E5=89=8D=E7=BD=AE=E6=9D=A1=E4=BB=B6=20=E2=80=94=20ver?= =?UTF-8?q?sion=E5=88=97=E8=BF=81=E7=A7=BB=20+=20docker-compose=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 044_add_users_version_column.sql 迁移 (TypeORM @VersionColumn 需要) - auth-service 移除 Kafka 硬依赖 (EventPublisher 已有 graceful no-op) - docker-compose 添加 SMS_ENABLED/SMS_CODE_EXPIRE_SECONDS/SMS_DAILY_LIMIT 环境变量 - 新增 auth-service/.env.example 文档化所有必需环境变量 Co-Authored-By: Claude Opus 4.6 --- backend/docker-compose.yml | 5 +-- .../044_add_users_version_column.sql | 3 ++ backend/services/auth-service/.env.example | 34 +++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 backend/migrations/044_add_users_version_column.sql create mode 100644 backend/services/auth-service/.env.example diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 12da7e5..6dfb274 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -509,13 +509,14 @@ services: - JWT_ACCESS_EXPIRY=15m - JWT_REFRESH_SECRET=dev-refresh-secret-change-in-production - JWT_REFRESH_EXPIRY=7d + - SMS_ENABLED=${SMS_ENABLED:-false} + - SMS_CODE_EXPIRE_SECONDS=300 + - SMS_DAILY_LIMIT=10 depends_on: postgres: condition: service_healthy redis: condition: service_healthy - kafka: - condition: service_healthy networks: - genex-network diff --git a/backend/migrations/044_add_users_version_column.sql b/backend/migrations/044_add_users_version_column.sql new file mode 100644 index 0000000..843b420 --- /dev/null +++ b/backend/migrations/044_add_users_version_column.sql @@ -0,0 +1,3 @@ +-- 044: Add version column for TypeORM optimistic locking +ALTER TABLE users + ADD COLUMN IF NOT EXISTS version INT NOT NULL DEFAULT 1; diff --git a/backend/services/auth-service/.env.example b/backend/services/auth-service/.env.example new file mode 100644 index 0000000..0cb778d --- /dev/null +++ b/backend/services/auth-service/.env.example @@ -0,0 +1,34 @@ +# ── Database ── +DB_HOST=localhost +DB_PORT=5432 +DB_USERNAME=genex +DB_PASSWORD=genex_dev_password +DB_NAME=genex + +# ── Redis ── +REDIS_HOST=localhost +REDIS_PORT=6379 + +# ── JWT ── +JWT_ACCESS_SECRET=dev-access-secret-change-in-production +JWT_ACCESS_EXPIRY=15m +JWT_REFRESH_SECRET=dev-refresh-secret-change-in-production +JWT_REFRESH_EXPIRY=7d + +# ── SMS ── +SMS_ENABLED=false +SMS_CODE_EXPIRE_SECONDS=300 +SMS_DAILY_LIMIT=10 +SMS_MAX_VERIFY_ATTEMPTS=5 + +# ── Aliyun SMS (only when SMS_ENABLED=true) ── +# ALIYUN_ACCESS_KEY_ID= +# ALIYUN_ACCESS_KEY_SECRET= +# ALIYUN_SMS_SIGN_NAME=券金融 +# ALIYUN_SMS_TEMPLATE_CODE=SMS_123456789 + +# ── Kafka (optional, events silently skipped if unavailable) ── +KAFKA_BROKERS=localhost:9092 + +# ── Service ── +PORT=3010