react에서 server로 요청 시 저장해둔 session 정보를 받아오지 못할 때

chloe·2022년 10월 15일
0

삽질일기

목록 보기
1/5

나의 상황

  1. react front를 구축하고 github OAuth 로그인을 하면 server에서는 session에 user id를 저장한다.
  2. front에서는 main page로 들어갈 때 마다 authorization check를 위한 fetch를 보낸다. fetch('서버주소' + /authorization)
  3. server에서는 /authoization 으로 요청이 오면 session 정보를 확인하여 login 상황인지를 return 해준다.
  4. 여기서 req.session 확인 시 계속 1에서 저장한 session이 아닌 초면인 session이 나왔다.

이전과 다른 점

front를 vanilla javascript로 작성했을 때는 front, server 한번에 실행시키면서 port 번호나 ip를 따로 설정하지 않고 바로 fetch('/authorization') 이런식으로 실행하면서 세션을 잘 받아왔었다.

해결 책

fetch 두 번째 parameter에 다음을 추가하자 credentials: 'include'

fetch(rootUrl+ url, {credentials: 'include'}).then((res) => res.json());

https://stackoverflow.com/questions/49361042/express-session-not-persisting-between-api-calls-from-react-front-end

profile
삽질전문 아티스트

0개의 댓글