로컬 환경 분리와 회원가입 중복 검증 보강

로컬 개발 환경은 .env.local을 우선 읽고 운영은 .env.production만 읽도록 분리해 인증 우회 설정이 운영에 섞이지 않게 정리했다. 회원가입/로그인 이메일 정규화와 중복 예외 처리를 보강해 대소문자·공백 변형 중복 가입을 안정적으로 차단했다.

Made-with: Cursor
This commit is contained in:
2026-04-27 11:33:10 +09:00
committed by DUCK JIN
parent 069eda3544
commit 73d198f5a9
12 changed files with 105 additions and 25 deletions

View File

@@ -6,6 +6,11 @@
- 같은 이름 오버레이를 쓰는 편집 보드와 `preview=1` 완성본 양쪽에 동일 동작을 적용했다.
- 백엔드 회원가입 흐름에 `SKIP_EMAIL_VERIFICATION` 환경변수를 추가했다. 개발 환경에서만 `true`일 때 일반 회원도 메일 인증을 건너뛰고 바로 로그인되도록 처리했다.
- `.env.production.example`에 `SKIP_EMAIL_VERIFICATION=false` 기본값을 추가해 로컬/운영 설정을 분리해 적용할 수 있게 했다.
- 이메일/닉네임 중복 검사를 보강했다. 회원가입/로그인/비밀번호 재설정 메일 요청에서 이메일을 `trim + lowercase`로 정규화해 비교하도록 맞췄고, 가입 시 DB `ER_DUP_ENTRY`도 409(`email_or_nickname_taken`)로 안전 처리한다.
- 사용자 생성 시에도 이메일/닉네임을 정규화 저장하도록 보강해, 대소문자/앞뒤 공백 차이로 중복 계정이 생기던 케이스를 줄였다.
- 환경파일 로딩을 로컬/운영으로 분리했다. 백엔드는 `NODE_ENV=production`일 때만 `.env.production`을 읽고, 로컬 개발(`npm run dev`)에서는 `.env.local`을 우선 읽도록 조정했다.
- `backend/package.json`의 `dev/start` 스크립트에서 DB/APP 값을 하드코딩하지 않도록 정리하고, `.env.local.example` 파일을 새로 추가해 로컬 기준값과 `SKIP_EMAIL_VERIFICATION=true` 예시를 분리했다.
- `.env.local.example`, `.env.production.example`의 값은 바로 복사해도 실행 가능한 형태로 기본값을 채워두고, 실제 운영 파일 `.env.production`에는 `SKIP_EMAIL_VERIFICATION=false`를 명시해 실수로 인증 우회가 켜지지 않게 했다.
- 확인: `frontend/src/views/TierEditorView.vue` lint 0건
## 2026-04-08 v1.1.30