react+spring boot HttpSession

leocodms·2021년 10월 29일
0

Java

목록 보기
9/10

지금까지 아주아주 편리하게 잘 사용하던 HttpSession이 이번 프로젝트에서 말썽이었다.

문제 1
세션 저장은 잘 하는데,
새로운 request에서 항상 새로운 httpsession을 생성했다.
(request.getSession())

문제 2
HttpSession이 set되면 sessionId를 쿠키에 저장하여 다음 request에 함께 보낸다는 것을 알았다.

response헤더 확인 결과, 쿠키에 sessionId를 잘 저장하는 것을 확인했다.

이는 쿠키를 잘 저장하는데,
이 세션정보를 다음 request에 못실어 보내는 것이 문제임을 뜻했다.

CORS ERROR

얘가 또 말썽이었구나.

axios request에 axios.defaults.withCredentials = true;
를 주어서 토큰 인증을 사용한다는 설정을 추가했다.

spring boot에는 WebConfig설정에 .allowCredentials(true)를 설정했다.

이를 위해
개발 단계라서 allowOrigins("*")을 주었던 것을 특정 url로 변경해주었다.

왜냐면..
allowCredentials=true 설정과 allowOrigins=* 함께 사용할 수 없기 때문.

https://stackoverflow.com/questions/43002444/make-axios-send-cookies-in-its-requests-automatically

profile
Backend Developer

0개의 댓글