cors미들웨어를 썻지만 다시 발생한 영원한 cors에러(feat. redirect())

대프리카생존자·2023년 8월 31일
0
post-thumbnail

다시 발생한

cors error

내가 이해한 cors에러가 나는 이유

  • 같은 프로토콜,호스트,포트번호를 사용하지 않았기때문에 같은 주소의 자원을 사용할 수 없어서 발생한 에러

😮‍💨문제상황

  • 난 클라이언트측에서 요청할때 {withCredentials: true}, 서버측에서 응답할때{credentials: true}를 이미 포함시켜 주었다.
  • 로그인을 할때나 유저정보를 가져올때는 cors에러가 발생하지않았지만, 로그아웃후 redirect로 메인페이지로 돌아갈때 cors에러가 발생하였다.

🤯해결노력

  1. cors미들웨어를 사용하지않고 헤더에 직접추가해보았다.
res.setHeader('Access-Control-Allow-origin', 'http://www.localhost:3000');
res.setHeader('Access-Control-Allow-Credentials', 'true');
  1. 어차피 메인화면에서 로그인하고 로그아웃하는 루트였기에 redirect를 굳이써야되나 싶어서 그 코드를 삭제해봄

😳정답...이라기보단 문제가 사라지게한 방법

  • 웬만하면 cors에러 그 자체에 집중하여 해결하려고 하였으나, 다른 라우터에서는 다 잘 작동하는것이 왜 여기서만 에러가 나는지 도무지 해결방법이 서지를 않았다.
  • 그래서 내가 선택한 방법은 페이지를 이동하는 서버측 redirect에서 문제가 발생하는것이니
  • 굳이 서버측에서 페이지 이동을하려고 하지말고 로그아웃이 성공했다면 프론트 측에서 useNavigate 훅을 사용해서 이동시키자!이다.

redirect에서만 cors에러가 발생하는것을 해결하는 방법을 아는 고수님은 한수 가르쳐주시면 모니터앞에서 절한번 갈기겠습니다.

profile
`${n}번의 고비를 넘긴 기록`

0개의 댓글