Commit Graph

7 Commits

Author SHA1 Message Date
king 1eabd7183c fix(routing): FastAPI(root_path=) 제거 — Mount/Route 비대칭 해결
Starlette Mount 가 FastAPI(root_path=...) 의 값을 mount 경로에 흡수해버려서
@app.get 라우트(/health/db)는 그대로지만 mount(/static)는 /orderlist/static
으로 등록되는 비대칭이 발생했다. NPM 이 /orderlist prefix 를 잘라서 백엔드로
보내면 /health/db 는 200 이지만 /static/css/style.css 는 404 가 났다.

해결: FastAPI 생성자에서 root_path 인자 제거. 대신 Dockerfile 의 uvicorn 명령에
--root-path "${APP_ROOT_PATH:-}" 를 추가해 ASGI scope 레벨에서만 root_path 가
세팅되도록 한다. 이러면 모든 라우트/마운트가 prefix 없이 등록되고 URL 생성
시에만 prefix 가 붙는다.

APP_ROOT_PATH 환경변수와 main.py 의 HTML 경로 치환 로직은 그대로 유지.
2026-05-24 14:05:32 +09:00
king 88d7b1ba7a feat(sso): SESSION_SECRET_KEY 미설정 시 fail-fast
- SESSION_SECRET_KEY 가 .env 에 없으면 컨테이너 기동 단계에서 RuntimeError.
  알려진 기본값(super-secret-key) 폴백 제거로 양쪽 secret 불일치 사고 방지.
- .env.example 의 SESSION_SECRET_KEY 안내 강화 (openssl 명령, dbx-main 동기화 언급).
2026-05-24 13:25:38 +09:00
king 4db82682df fix(sso): SESSION_MAX_AGE 코드 기본값을 8h로 통일 (dbx-main과 일치)
dbx-main 의 SessionMiddleware max_age 가 8h(28800)인데 OMS 코드 기본값은 14d였다.
운영 .env 에 SESSION_MAX_AGE 가 빠지면 한쪽만 일찍 만료돼 재로그인 루프가 생길 수 있어
코드 기본값을 28800으로 통일한다.

.env.example 은 이미 SESSION_MAX_AGE=28800 으로 표기돼 있어 변경 없음.
2026-05-24 13:05:02 +09:00
king 1d81db2367 fix(sso): comply with dbx-main SSO contract — no session writes, next passthrough, 8h max-age 2026-05-24 05:46:51 +09:00
king c966d41628 feat: SSO via shared session with dbx-main, sub-path hosting at /orderlist 2026-05-24 05:35:19 +09:00
king 75ab736e8f fix: add missing pandas dependency 2026-05-24 03:41:52 +09:00
king 54707c99a3 초기 커밋: Docker/PostgreSQL 이관, 구글 OAuth 제거, Gitea 푸시 스크립트 추가 2026-05-24 03:07:53 +09:00