inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

게시글 좋아요

로그아웃 하고 로그인 할 때 좋아요 기능 실행되는 문제

312

kyung3098

작성한 질문수 7

0

안녕하세요 제로초님! 게시글 좋아요 부분 듣고 다시 작성해보고 있는데

처음 로딩 시에는 좋아요 버튼 눌렀을 때 로그인 하지 않은 상태면 에러 메시지가 잘 나오는데 ( 로그인 안 하면 좋아요 못 누르게)

첫 번째 문제는 로그인 했다가 로그아웃을 한 뒤에 좋아요 버튼을 누르면 화면에는 변화가 없지만 리덕스에는 LIKE_POST_REQUEST -> LIKE_POST_SUCCESS가 되어서 이전에 로그인했던 사용자의 아이디가 LIKERS에 들어갑니다.

// middlewares.js
exports.isLoggedIn = (req, res, next) => {
    if (req.isAuthenticated()) {
        next();
    } else {
        res.status(401).send('로그인이 필요합니다.');
    }
}

여기 middlewares에 콘솔을 띄어보니 로그인 했다가 로그아웃을 한 상태에서 버튼을 누르면 401에러 부분이 아니라 if ( req.isAuthenticated()) 부분이 실행됩니다.!!

// 에러 메시지 출력부분 PostCard.js

// PostCard.js
 const { removePostLoading, likePostError } = useSelector((state) => state.post);
 useEffect(() => {
    if (likePostError) {
      alert(likePostError);
    }
  }, [likePostError]);

// routes/user.js - 로그아웃 부분

router.post('/logout', isLoggedIn, (req, res, next) => {
    req.logout((err) => {
        if (err) {
            return next(err);
        }
    });
    req.session.destroy();
    res.send('ok');
});

 

react redux node.js express next.js

답변 1

0

제로초(조현영)

passport 몇 버전 쓰고 계신가요? 0.6버전이면 지금 logout 코드로 하시면 안 됩니다.

0

kyung3098

passport: ^0.4.1 로 되어있습니다 그런데 원래 코드 req.logout()을 고치고 로그아웃하면 똑같이 좋아요 기능이 실행됩니다!!

0

제로초(조현영)

로그아웃 후에 새로고침하면 다시 로그인되어있나요?? 로그아웃이 확실히 된 게 맞는지 확인해봐야 합니다.

0

kyung3098

아하 새로고침하면 다시 로그인되어 있습니다 그러면 접속할 때 사용자 정보 로딩 액션을 실행하는 useEffect 부분을 수정하면 되나요??

0

제로초(조현영)

아뇨. 로그아웃이 제대로 안 된 건데요. 로그아웃하는 코드를 다시 확인해보세요.

0

kyung3098

sagas/user에서 로그아웃 부분에서 문제였습니다!! 정말 감사합니다!!

넥스트 버젼 질문

0

78

2

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

0

89

1

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

0

175

1

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

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

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

0

91

2

vsc 에서 npm init 설치시 오류

0

147

2

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

0

158

1

화면 새로고침 문의

0

121

1

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

0

153

2

Next 14 사용해도 될까요?

0

452

1

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

0

349

1

url 오류 질문있습니다

0

211

1

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

0

373

1

sudo certbot --nginx 에러

0

1275

2

Minified React error 콘솔에러 (hydrate)

0

470

1

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

0

247

1

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

0

327

1

npm run build 에러

0

518

1

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

0

382

1

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

0

338

2

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

0

288

1

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

0

239

2

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

0

201

1