인프런 커뮤니티 질문&답변

권범수님의 프로필 이미지
권범수

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

쿠키

작성

·

244

0

배포한 이후에

백엔드에서 cors 옵션에 credentials: true, 해주고

프론트쪽에서 axios.defaults.withCredentials = true;

를 해주어도 로그인 성공시 쿠키를 못받아오네요.

이때는 어떻게 접근을 해야할 지 모르겠습니다.

 

로그인 시도 후 성공하고 응답으로 비밀번호를 제외한 유저 정보를 받아온 후에

다음페이지에서 로그인 유지를 위한 ssr 시 백에서 요청을 받았을때 쿠키가 없어서 미들웨어에서 걸립니다.(로그인 필요 401)

 

크롬쪽에서 따로 sameSite 관려 오류는 안뜨고요.

답변 1

0

권범수님의 프로필 이미지
권범수
질문자

응답헤더에 setCookie도 없네요 이러면 로그인 전략쪽이 문제일까요

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

axios.defaults.withCredentials = true; 이 코드는 getServerSideProps 안에 있는 코드인가요?

로그인 후 새로고침을 하면 로그인이 유지되어 있나요? 만약 아니라면 로그인은 성공했는데 브라우저에 쿠키가 안 심어진 것입니다. 콘솔/네트워크 탭에서 에러메시지와 로그인 요청에 대한 네트워크탭을 확인해보세요.

권범수님의 프로필 이미지
권범수
질문자

로그인 유지가 안됩니다. 콘솔창에 오류메시지는 없고 네트워크 탭에는 로그인 요청에 대한 응답은 성공적이고 응답json또한 정상적으로 줍니다.

하지만 이 응답 헤더에 setcookie가 없는걸로 보아서는 로그인 과정에서 쿠키가 안심어지는거 같습니다. 실제로 애플리케이션 쿠키쪽에 connect.sid가 안심어지고요.

아무리 계속 찾아봐도 어디가 잘못되었는지 모르겠네요.

권범수님의 프로필 이미지
권범수
질문자

getServerSideProps안에는 없고 sagas/index.js에 설정해두었습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

백엔드 서버쪽 cors 옵션에서 프론트 도메인 잘 적어주셨나요? 그리고 혹시 프론트/백엔드 주소가 ip거나 도메인이 서로 다른 건 아니죠?

권범수님의 프로필 이미지
권범수
질문자

해결했습니다. cookie 설정을 잘못해주어서 쿠키가 안심어졌었네요.. 감사합니다.

권범수님의 프로필 이미지
권범수

작성한 질문수

질문하기