inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

쿠키/세션과 전체 로그인 흐름.

쿠키파서, 세션

220

제이제이

작성한 질문수 11

0

제로님 혹시 cookie-parser 와 express-session 이 두개를 같이 설치해야하는 이유가 있을까요?

cookie-parser만 설치하게 되면 쿠키를 브라우저,프론트서버,벡엔드서버 이 3개의 공간에 서로서로 막힘없이 공유가 잘 이루어지지 않을 수도 있나요??

각 3개의 공간에 서로서로 쿠키를 공유시하고 싶을땐 express-session도 필요한가요??

+ 제가 개인 프로젝트에서 axios 를 쓰면서 쿠키를 공유하는데 백엔드서버,브라우저에 모두 credentials, withCredentials 다 설정해서 백엔드서버랑 브라우저(useEffect안에 서 불러옴)는 쿠키가 공유되는데 프론트서버(getServerSideProps 안에서 불러옴)랑 백엔드서버랑은 쿠키 공유가 잘 안되어 혹여나 하는 마음에 질문 드립니다..

(쿠키는 cookie-parser를 이용해 res.cookie()로 쿠키를 만들어 사용하는 중입니다)

(프론트서버, 백엔드서버 쿠키 공유가 되지않음)

import { GetServerSideProps } from 'next/types';
import wrapper from '@app/store';
import { fetchRefreshData } from '@actions/user';
import axios from 'axios';

export { default } from '@pages/Home';

export const getServerSideProps: GetServerSideProps = wrapper.getServerSideProps((store) => async (context) => {
  const cookie = context.req ? context.req.headers.cookie : '';
  axios.defaults.headers.Cookie = '';
  if (context.req && cookie) {
    axios.defaults.headers.Cookie = cookie;
  }
  await store.dispatch(fetchRefreshData(null));
  return {
    props: {},
  };
});

react express nodejs redux Next.js

답변 1

0

제로초(조현영)

express-session은 쿠키를 기반으로 req.session과 connect.sid 로그인 쿠키를 쓰기 위함입니다. 또한 passport를 사용할 때에도 express session이 필요합니다.

프론트 서버랑 백엔드 서버간에 쿠키 공유가 안 되는 이유는 프론트랑 백엔드 도메인이 달라서 그럴 수 있습니다. 쿠키는 기본적으로 같은 도메인끼리만 공유가 됩니다.

0

제이제이

제가 아직 개발중이라 아직 example.com 같은 도메인은 아직 없는데 localhost:3000, localhost:5000 이게 다라.. 그럼 이걸 일치 시켜주라는 뜻일까요?.. 서로 쿠키가 공유되도록 세팅은 다 되었긴했는데..

0

제로초(조현영)

백엔드 서버랑 프론트 서버랑 쿠키 공유가 제대로 안 되고있다는 것은 어떻게 확인하신 건가요?? 어떤 것이.안 되고 있나요?

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

198

1

특정 페이지 접근을 막고 싶을 때

0

117

2

createGlobalStyle의 위치와 영향범위

0

103

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

159

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

164

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

218

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1295

2

Minified React error 콘솔에러 (hydrate)

0

481

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

257

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

341

1

npm run build 에러

0

526

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

351

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

291

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

251

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

207

1