프론트엔드와 백엔드 서버가 달라서 생기는 문제 중 하나가 공통된 쿠키값을 읽지 못하는 부분이고 아래 코드들은 그 문제를 해결하기 위한 수정 내용이다.
const production = process.env.NODE_ENV === 'production';
...
app.use(expressSession({
resave : false,
saveUninitialized : false,
secret : process.env.COOKIE_SECRET,
// 자바스크립트로 쿠키에 접근 못하게 보안
cookie : {
httpOnly : true,
secure : false, // https 사용시 true
domain : production && '.rgproject.co.kr',
},
...
}));
if (production) {
app.use(hpp());
app.use(helmet());
app.use(morgan('combined'));
app.use(cors({
origin : 'http://rgproject.co.kr',
credentials : true,
}));
} else {
// 백엔드 서버로 요청 들어오는 기록들을 보여줌
app.use(morgan('dev'));
// Access-Control-Allow-Origin 에러 처리
app.use(cors({
origin : true,
credentials : true,
}));
}
중요! 위 수정 부분은 htpp에 대한 지식이 있어야 오류 대응이 가능하다고 한다. (추천 받은 서적 : 'http 완벽 가이드')