<aside> 💡 일반적인 요청은 잘 되는 것 같은데 왜 서버에서 redirect 할때 오류가 생기는 걸까? 어떻게 해결 할 수 있을까?

</aside>

<aside> 💡 일반적인 요청은 잘 되는 것 같은데 왜 서버에서 redirect 할때 오류가 생기는 걸까? 어떻게 해결 할 수 있을까?

</aside>

이번에는 나를 애먹게 했던, CORS에 대해 알아보려고 한다.

오류

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Try

🥲1. cors 옵션의 origin: true 설정

처음에는 origin : *을 설정하려고 했으나, withCredentials: true옵션이 필요해서 설정이 불가능했다. 차선책으로 true라고 값을 주고 진행 했으나 해결되지 않았다.

🥲2. redirect하는 곳에 header심기

res
      .cookie("accessToken", accessToken)
			.header({origin: true / "Access-Control-Allow-Origin" : true})
      .status(200)
      .redirect(url);

origin: true 와 "Access-Control-Allow-Origin" : true 모두 적용해보았지만, 여전히 CROS 에러가 발생했다.

⭐️3. 클라이언트에서 redirect해주기

고민에 고민 검색에 검색을 거듭하다가 굳이 꼭 서버에서 redirect해줘야 할 필요가 있을까? 라는 생각이 들었다. cookie도 잘 심어지고, 데이터도 잘 가지는 상황이었기에, .redirect(url) 대신 .send({ data: userData.data })로 바꾼 뒤에, 클라이언트 측에서 window.href.href="/"형식으로 redirect시켜 주었다.

추후 서버에서 어떻게 CORS에러 없이 redirect하는지 알아보고 업데이트 할 예정이다.