공부하는 히욤이

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 #14 로그아웃 기능 본문

Programming/React+Node

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 #14 로그아웃 기능

히욤이 2021. 8. 17. 01:59

로그아웃을 할 때는 토큰을 지워줌

토큰이 없으면 클라이언트에서 가져온 토큰과 맞지 않아 인증이 안됨

로그아웃 할 때, 토큰을 지워주면 로그인 기능이 풀려버림

 

[index.js]

app.get('/api/users/logout', auth, function (req, res) {
    User.findOneAndUpdate({
        _id: req.user._id
    }, { token: "" },(err, user) => {
        if (err) {
            return res.json({
                success: false,
                err
            })
        } else {
            return res.status(200).json({ success: true })
        }
    })
});

findOneAndUpdate는 mongodb에서 제공하는 함수로 첫번째 object에는 찾을 인자를 두번째 object에는 바꿔줄 인자를 넣는다.

id를 검색해서 token을 비워준다.

 

 

 

token이 있다는건 로그인 되어있다는 뜻이다.

 

 

postman으로 로그아웃을 해준다.

 

 

로그아웃에 성공했기 때문에 token이 지워져있다.