client contract
브라우저 공개값과 서버 비밀값을 분리한다
NEXT_PUBLIC 값은 번들에 들어가도 되는 주소만 담고, 토큰과 비밀키는 서버 환경에 남겨야 한다.
Public URL
NEXT_PUBLIC_*
브라우저에 노출 가능
Client
io(url) 연결
connect/disconnect 처리
Secret
JWT/session
요청별 인증에 사용
Server
SERVER_SECRET
브라우저 번들 금지
값
좋은 위치
나쁜 신호
소켓 주소
NEXT_PUBLIC_SOCKET_URL
토큰 포함 URL
세션 토큰
cookie/handshake
env에 하드코딩
서버 비밀키
서버 전용 env
NEXT_PUBLIC_ 접두사
핵심
실시간 연결에서 공개해도 되는 것은 접속 주소이고, 사용자를 증명하는 값은 서버 경계 안에 남아야 한다.