diff --git a/.env.production.example b/.env.production.example index 281d9df..934c107 100644 --- a/.env.production.example +++ b/.env.production.example @@ -46,7 +46,7 @@ REDIS_DATA_DIR=./data/redis # 로컬에서 운영 이미지를 검증하느라 일부러 localhost 를 쓰는 경우에만 # ALLOW_LOCALHOST_URL=true 로 이 검사를 건너뛴다. 실제 배포에는 설정하지 않는다. # ========================================== -# 예) 백엔드 https://moneyguider.wandergo.net/api, 관리자 화면(아임웹) https://www.moneyguider.co.kr +# 예) 백엔드 https://moneyguide.wandergo.net/api, 관리자 화면(아임웹) https://www.moneyguider.co.kr # → CORS_ORIGIN 에 아임웹 도메인(www 유무 둘 다)을 넣는다 BACKEND_API_URL=https://api.example.com/api CORS_ORIGIN=https://www.example.com,https://example.com diff --git a/backend/src/modules/admin-auth/admin-auth.constants.ts b/backend/src/modules/admin-auth/admin-auth.constants.ts index 881e460..83a7ae7 100644 --- a/backend/src/modules/admin-auth/admin-auth.constants.ts +++ b/backend/src/modules/admin-auth/admin-auth.constants.ts @@ -3,7 +3,7 @@ import { parseDurationMs } from '@/shared/utils/duration'; /** * 관리자 인증은 쿠키가 아니라 `Authorization: Bearer` 헤더로 한다. * - * 관리자 화면은 아임웹(www.moneyguider.co.kr)에, API 는 다른 사이트(moneyguider.wandergo.net)에 있다. + * 관리자 화면은 아임웹(www.moneyguider.co.kr)에, API 는 다른 사이트(moneyguide.wandergo.net)에 있다. * 이 조합에서 인증 쿠키는 제3자 쿠키가 되어 Safari·Chrome 시크릿 모드 등에서 차단되므로 * 쿠키 방식(.claude/rules/security.md 의 기본값)을 쓸 수 없다. * diff --git a/imweb/README.md b/imweb/README.md index 1a8d2fa..457358d 100644 --- a/imweb/README.md +++ b/imweb/README.md @@ -74,7 +74,7 @@ docker exec -u root moneyguide-backend rm /tmp/members-1.xls ## 인증 방식 — 왜 쿠키가 아닌가 -백엔드(`moneyguider.wandergo.net`)와 관리자 화면(`www.moneyguider.co.kr`)이 **다른 사이트**라 +백엔드(`moneyguide.wandergo.net`)와 관리자 화면(`www.moneyguider.co.kr`)이 **다른 사이트**라 인증 쿠키는 제3자 쿠키가 되어 Safari·Chrome 시크릿 모드 등에서 차단된다. 그래서 - 로그인 응답으로 토큰을 받아 **sessionStorage** 에 두고 `Authorization: Bearer` 로 보낸다 (탭을 닫으면 사라짐) @@ -95,16 +95,16 @@ docker exec -u root moneyguide-backend rm /tmp/members-1.xls ``` 개발자센터 앱 설정의 redirect URI 를 `BACKEND_API_URL + /imweb/oauth/callback` 과 **글자 하나까지** 같게 등록한다. -(로컬 `http://localhost:3100/api/imweb/oauth/callback`, 운영 `https://moneyguider.wandergo.net/api/imweb/oauth/callback`) +(로컬 `http://localhost:3100/api/imweb/oauth/callback`, 운영 `https://moneyguide.wandergo.net/api/imweb/oauth/callback`) ## 운영 배포 시 - 루트 `.env.production` - - `BACKEND_API_URL=https://moneyguider.wandergo.net/api` + - `BACKEND_API_URL=https://moneyguide.wandergo.net/api` - `CORS_ORIGIN=https://www.moneyguider.co.kr,https://moneyguider.co.kr` - `IMWEB_ADMIN_PAGE_URL=` 아임웹 관리자 페이지 실제 주소 -- 아임웹 개발자센터 redirect URI 를 `https://moneyguider.wandergo.net/api/imweb/oauth/callback` 으로 등록 -- `imweb-members.html` 의 `API_BASE` 운영 주소(`https://moneyguider.wandergo.net/api`)를 확인하고 아임웹 코드 위젯에 붙여 넣는다 +- 아임웹 개발자센터 redirect URI 를 `https://moneyguide.wandergo.net/api/imweb/oauth/callback` 으로 등록 +- `imweb-members.html` 의 `API_BASE` 운영 주소(`https://moneyguide.wandergo.net/api`)를 확인하고 아임웹 코드 위젯에 붙여 넣는다 - 아임웹에서 그 페이지의 접근 권한을 관리자로 제한한다 ## 유입 기록 상태 diff --git a/imweb/imweb-members.html b/imweb/imweb-members.html index 0712a9f..a72ed2c 100644 --- a/imweb/imweb-members.html +++ b/imweb/imweb-members.html @@ -549,7 +549,7 @@ /* ===================== 설정 ===================== */ var API_BASE = /^(localhost|127\.0\.0\.1)$/.test(location.hostname) ? 'http://localhost:3100/api' - : 'https://moneyguider.wandergo.net/api'; // 운영 백엔드 주소 + : 'https://moneyguide.wandergo.net/api'; // 운영 백엔드 주소 var PAGE_SIZE = 50; var RECENT_SIZE = 8; var OVERVIEW_TOP = 8;