inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

로그인된 사람만 커뮤니티 생성 페이지 들어갈 수 있게 해 주기

강사님 req.header.cookie에 언제 쿠키를 담아줬는지 궁금합니다.

494

반가우면반갑다고해

작성한 질문수 142

0

export const getServerSideProps: GetServerSideProps = async ({ req, res }) => {
  try {
    const cookie = req.headers.cookie;
    console.log(req.headers.cookie);
    // 쿠키가 없다면 에러를 보냄
    if (!cookie) throw new Error('Missing auth token cookie');

    // 쿠키가 있다면 그 쿠키를 이용해서 백엔드에서 인증 처리하기
    await axios.get('/auth/me', { headers: { cookie } });

    return { props: {} };
  } catch (error) {
    // 백엔드에서 요청에서 던져준 쿠키를 이용해 인증 처리할 때 에러가 나면
    // login 페이지로 이동
     res.writeHead(307, { Location: '/login' }).end();
    return { props: {} };
  }
};

axios.get에 파라미터로 헤더.쿠키 로 넣어준걸까요?

근데 순서대로 코드가 동작하게되면 if문에 걸려서 영원히 쿠키가 없어 페이지가 로그인페이지로 이동될텐데 제가 잘못생각한걸까요?

두번쨰로 리턴 props:{}로 해주신 이유에대해서 궁금합니다. 다른식으로 그냥 return; 이렇게 작성하고 끝내도 괜찮을까요?

react nodejs docker typescript postgresql 클론코딩 Next.js

답변 1

1

rhkdtjd_12

  1. 로그인 하게 되면 쿠키가 생성 됩니다. 그리고 페이지를 이동 하거나 페이지를 새로고침하거나 브라우저를 종료 하더라도 쿠키를 남길 수 있습니다. 그러므로 로그인 한 상태라면 작성자님 질문대로 if문을 무사히 통과 할것입니다. 쿠키에 대해 더 자세히 알고 싶으시면 구글에 검색해서 찾아보시는걸 추천드립니다.

  2. 해당 리턴 props:{}는 Nextjs 문법이며 참고로 getServerSideProps 함수 또한 Nextjs 문법입니다. 해당 사항은 강의 초반 강사님 설명대로 강좌 리스트 맨 아래에 보시면 typescript+Nextjs 이론에 대한 설명이 있으니 학습 하시는걸 추천드립니다.

toJson을 추가하면 [sub].tsx에서 sub를 받아오지 못합니다.

0

139

2

쿠키 저장이 되지 않습니다.

0

239

1

AxiosError {message: 'Request failed with status code 401/500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE', (2)

0

595

1

AxiosError {message: 'Request failed with status code 401/500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE',

0

667

1

overload 에러

0

181

1

docker compose up 오류

0

219

1

부록) remark 강의 중 parmas 오류

0

142

1

3000번은 잘 들어가지는데 80번은 안됩니다.

1

304

0

커뮤니티를 올리고 난 후 404 page

0

219

1

tailwind css 문제인지, className 에 적용한 css가 적용되지 않아요.

0

1053

2

tsx 수정 시 마다 빌드 후 서버 시작 해야하나요?

0

670

2

useState 쳤을 때 자동완성 되는 단축키 무엇인가요? extention 인가요?

0

817

2

리액트 서버 npm run dev 와 npm run build 후 npm start 의 차이

0

4660

2

data 폴더가 생성되지 않아요.

0

537

1

docker-compose up 오류

0

818

1

회원 가입 페이지 기능 생성(3) 중 에러

0

391

2

Entity에 toJSON 코드 입력 후 404 에러

0

259

1

context에서 useEffect 선언 부분 질문 있어요.

0

304

1

src 폴더구조

0

515

2

서버 실행 시 에러 관련하여 답변받고 1차 조치했는데 여전하여서 질문 남깁니다

0

303

1

엔티티 모두 작성 후 서버 실행 시 에러가 발생합니다

0

319

1

회원가입 누르면 404에러가 뜹니다 ;-;

1

437

1

nextjs버젼에 대해서 질문드립니다.

0

380

1

<npm run dev>시 -61 에러가 나타납니다!

0

366

1