Files
dbx-corm/.env.example
king c4973224aa feat(auth): X-Service-Token 헤더로 서비스 간 호출 우회 허용
OMS 의 반품 신청 같은 서버-서버 호출은 사용자 세션이 없으므로 AuthGuard 가
401 로 막아왔다. INTERNAL_SERVICE_TOKEN env 가 설정돼 있고 요청 헤더
X-Service-Token 이 같은 값이면 세션 검사를 우회한다.

보안: NPM 의 /corm/ location 블록에서 외부에서 들어온 X-Service-Token 헤더를
proxy_set_header X-Service-Token ""; 로 strip 해야 외부에서 토큰 추측 공격 방지.
2026-05-24 18:15:00 +09:00

69 lines
2.3 KiB
Bash

# ============================================
# PostgreSQL 접속 정보
# ============================================
# 서버에서 docker network 확인 후 host 값 수정
# docker ps --filter "ancestor=postgres" --format "{{.Names}}"
POSTGRES_HOST=postgres-db
POSTGRES_PORT=5432
POSTGRES_USER=king
POSTGRES_PASSWORD=여기에_비밀번호_입력
# 데이터베이스 이름 (3개 분리되어 있음)
ITEMCODE_DB=itemcode_db
ORDERLIST_DB=orderlist_db
RETURN_DB=return_db
# ============================================
# 네이버 커머스 API
# ============================================
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
# ============================================
# 카페24 API
# ============================================
CAFE24_CLIENT_ID=
CAFE24_CLIENT_SECRET=
CAFE24_MALL_ID=miraskitchen
CAFE24_REDIRECT_URI=
# ============================================
# 앱 설정
# ============================================
APP_PORT=8002
# NPM 리버스 프록시 뒤 서브경로 호스팅
APP_ROOT_PATH=/corm
# ============================================
# SSO (dbx-main 세션 공유)
# ============================================
# dbx-main, OMS 와 반드시 같은 값으로 맞춰야 SSO 동작.
# 미설정 시 컨테이너 기동 실패 (fail-fast). openssl rand -hex 32 로 생성.
SESSION_SECRET_KEY=__paste-same-value-as-dbx-main__
SESSION_COOKIE_NAME=session
SESSION_SAME_SITE=lax
SESSION_HTTPS_ONLY=1
SESSION_MAX_AGE=28800
# 세션에서 읽을 사용자 키. dbx-main 이 어느 키로 쓰는지에 맞춰라.
SESSION_USER_KEY=user_email
SESSION_NAME_KEY=user_name
# 미인증 시 보낼 dbx-main 로그인/로그아웃 URL
MAIN_LOGIN_URL=https://dbx.no1king.freeddns.org/login
MAIN_LOGOUT_URL=https://dbx.no1king.freeddns.org/logout
# ===== 서비스 간 호출 인증 =====
# OMS 가 반품 신청을 보낼 때 X-Service-Token 헤더로 이 값을 보낸다.
# CORM 의 AuthGuard 가 해당 헤더가 이 값과 일치하면 세션 검사 우회.
# OMS 의 .env 와 동일한 값으로 박을 것.
# NPM 은 외부에서 들어온 이 헤더를 strip 해야 한다 (보안).
INTERNAL_SERVICE_TOKEN=__paste-same-value-as-dbx-orderlist__
# ============================================
# Docker network
# ============================================
POSTGRES_NETWORK=postgres_default
WEB_NETWORK=npm_default