CORS는 도메인이 서로 다른 도메인에서 서버간 보안을 위해 요청을 거부하는 현상을 의미한다.
예를들어 프론트서버 localhost:3000과 백엔드서버localhost:5000의 요청을 거부하는 것과 같다.
프론트서버의 요청이 인증되었다는 사실을 서버에 알리기 위해서는 credentials
모드를 사용한다.
// 프론트
axios.post('/user/login', loginData, {
withCredentials: true
});
// 백엔드
app.use(cors({
origin: true,
credentials: true
}))
프론트 axios의 withCredentials
값을 true로 설정하고, 백엔드 cors에는 origin, credential을 true 값으로 하면 상호간 API통신이 가능하다.