inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

7-2. SSR을 위해 쿠키 넣어주기

ctx.req.headers.cookie undefined 증상

310

Jun Mr.

작성한 질문수 12

0

아랫분이 글을 올린 것 처럼 저역시 동일 증상이 일어납니다.

해당 부분에 대해 많은 실험을 해보았는데요.

놀라운 의문점이 발생되었습니다.

1. 제가 만든 웹에서 로그인.

2. 쿠키정보에 쿠키 생성 확인 완료.

3. 새로고침

4. 로그확인 >  axios.defaults.headers.Cookie = undefined

5. 제 프로젝트 서버 종료 후, 제로초님의 동일 소스 프로젝트 실행.

6. 로그인.

7. 쿠키정보에 쿠키 생성 확인 완료.

8. 로그확인 > axios.defaults.headers.Cookie = rnbck~~~~~

9. 다시 제로초님의 프로젝트 종료 후, 제 프로젝트 실행.

10. axios.defaults.headers.Cookie = rnbck~~~~~

여기서 제로초님과 저의 프로젝트가 다른점은,

제로초님의 쿠키 name 은 'rnbck' 이고,

저의 프로젝트 쿠키 name 은 'rrcc' 라는 점입니다.

여기서 의문은, 개발자 탭(F12)의 쿠키 데이타로는

 rnbck~~~~

 rrcc~~~~

요렇게 들어 있는데,

axios.defaults.headers.Cookie 의 인식을 rnbck 로만

한다는 점입니다. 쿠키 삭제 후 무조건 undefined는 동일합니다.

프론트서버에서는 rnbck 만 쿠키로 인식할 수 있도록

다른 설정을 해준적이 없는 걸로 기억하고..

제 프로젝트내 소스에서는 'rnbck' 의 명을 검색해도

단 1건의 경우도 존재하지 않습니다.

하지만, 'rnbck' 명으로된 쿠키만 찾는게 의문이네요..

이런점들로 보아, 여러 사이트를 방문하게 되면

수많은 이름의 쿠키데이터가 브라우저에 쌓여있을텐데,

그중 저희가 로그인하기 위한 쿠키를 선택을 어떻게해서

사용하는지도 추가로 의문이 생기게 되었습니다.

해당 의문은 아직 해결을 못한 상태이고, 너무 궁금한

부분이네요..

참고로, 일반 클라이언트에서 dispatch 할때는

withCredential 로 전달되는 쿠키는 지금까지 막힌적 없고

로그인도 아주 잘됩니다..

javascript react

답변 2

0

제로초(조현영)

백엔드에서 cors 설정과 쿠키 주소 설정을 프론트 주소로만 잘 해주면 됩니다.

0

Jun Mr.

해당 글에 대한 답은 스스로 찾았지만, 찾으면서 또다른 의문이 생기게 되었습니다..^^;;

제가 제 핸드폰이나, 지인들의 접속을 위해 포트포워딩을 통해 특정 port만 열어 개발을 하다보니,

아예 서버로 부터 요청을 제 개인 공인 IP를 사용하여 개발을 하였습니다. 

알고보니, 쿠키의 정보중 도메인이 중요하게 작용하여

제가 보는 페이지(localhost:3000)에서는

서버요청을 통해 만들어진 쿠키(219.?.?.?.? [공인ip])를 인식하지 않더군요..

그래서, (219.?.?.?.? [공인ip]):3000 으로 접속하니,

정상적으로 잘 인식 되었습니다.

그러다보니, 생긴 의문은, 나중에 프론트 서버와, 백엔드 서버의 도메인이 서로 다를 경우, 인식이 불가능할 수 있다는

의문이 생기게 되는데요.. 

또한 withCredential로 전달한 쿠키는 현제 제가 접속한

localhost의 주소임에도 불구하고 그동안 알아서 찾아 (219.?.?.?.? [공인ip]) 쿠키 데이터로  전달했다는 의미가 되는데.. 의문이네요..

나중에 실제로 백엔드 ip와 프론트 ip가 서로다를 경우에는 프론트서버로 뭔가 설정을 추가로 해주어야 하는 부분인가요~~??

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

484

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

448

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

434

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

976

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1