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

hyunjun cho님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

로그아웃 관련 질문 있습니다.

작성

·

148

0

강사님 보일러플레이트, 유투브 클론, 쇼핑몰 만들기, 도커강의 모두 듣고 

이제 앱 개발 및 배포를 진행하려고 합니다.

강사님 github 에서 boilerplate-mern-stack-master 받아서 하는데

소스엔 토큰 유효시간은 포함되어 있지만 유효시간 체크는 없는거 같아요.

하루가 지나도 재접속하면 로그인 상태 입니다.

질문은 유효시간 체크는 어디에 어떤식으로 넣어주는게 좋을까요?

강사님의 방법 힌트 주시면 많은 도움이 될거 같습니다.

감사합니다.

답변 1

0

제가 한 유효시간 적용시킨 코드 공유합니다.

토큰 만들 때 인자로 유효시간 넘겨줄 수 잇더라고요

 var token = jwt.sign({id: user._id.toHexString()},'secretToken', {expiresIn: '1h'});

적용하면 auth 권한 확인하는 곳에서 오류가 날 수 있는데

아래 처럼 수정햇어요

jwt.verify(token'secretToken'function(errdecoded){
        // 복호화된 토큰 decoded
        if(decoded){
            user.findOne({"_id":decoded.id"token":token}, function(erruser){
                if(errreturn cb(err);
                cb(nulluser);
            })
        }else{
            cb(null);
       }