Node.js : 로그아웃

김가영·2020년 10월 7일
1

Node.js

목록 보기
6/34
post-thumbnail

db 에서 해당 유저의 token 을 지워주면 된다.
→ 인증이 안돼서 로그인 기능이 풀려버리게 된다.

  • User.js (models)

userSchema.statics.findByToken = function(token, cb){
    var user = this;
    
    // decode token
    jwt.verify(token, 'secretToken', function(err,decoded){
        // 유저 아이디를 이용하여 유저를 찾은 다음에
        // 클라이언트에서 가져온 token 과 db 의 token 이 일치하는 지 확인

        user.findOne({"_id" : decoded, "token" : token}, function(err, user){
            if(err) return cb(err);
            cb(null, user)
        })
    })
}
  • index.js
app.get('/api/users/logout', auth, (req, res) => {
    User.findOneAndUpdate({ _id : req.user._id },
        { token : ""},
        (err, user) => {
            if(err) return res.json({success : false, err})
            return res.status(200).send({
                success : true
            })
        })
})
profile
개발블로그

2개의 댓글

comment-user-thumbnail
2021년 3월 1일

우연히 들어온 곳에서 널 발견함 이건 우연일까...?ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이거 쓰려고 가입함

1개의 답글