/** * 세션 쿠키 이름·옵션 상수 — proxy.ts(낙관적 체크)와 서버 코드(DAL·Server Action)가 * 공유하는 유일한 지점. 비밀값을 담지 않으므로 `server-only`를 붙이지 않는다. */ export const SESSION_COOKIE_NAME = 'edupay_admin_session'; export const SESSION_COOKIE_OPTIONS = { httpOnly: true, // 로컬 개발(HTTP)에서는 secure 쿠키가 저장되지 않으므로 운영에서만 강제한다. secure: process.env.NODE_ENV === 'production', sameSite: 'strict', path: '/', // maxAge/expires를 지정하지 않아 브라우저 세션 쿠키로 동작한다 — 실질 상한은 토큰 자체의 exp(12h). } as const;