분명 서버에서 쿠키를 전달해주었음에도 클라이언트에서 이를 받지 못할 때가 있습니다.
개발자도구
> Network
> Response Header
에 Set-Cookie
가 있는 걸로 보아 제대로 전달받은 것은 맞지만,
개발자도구
> Application
탭에 Cookie
를 확인해보면 쿠키가 존재하지 않습니다.
이럴때 필요한 설정이 있는데요. 바로, 서버와 클라이언트에서 Credentials
옵션을 설정해주면 됩니다.
ajax 요청을 보낼 때 withCredentials 설정을 해야합니다.
axios.post('url', body, { withCredentials: true });
서버에서는 cors 설정을 해야합니다.
app.use(cors({
origin: '주소',
credentials: true
}));
origin
을 주소가 아니라, *
인 경우 모두 허용 / true
인 경우 자동으로 설정해줍니다.res.setHeader('Access-Control-Allow-Origin', '주소');
res.setHeader('Access-Control-Allow-Credentials, 'true');