728x90

 

출처 : 인프런_따라하며 배우는 노드, 리액트 시리즈 — 기본 강의

 

 

로그아웃 기능을 구현해보자.

로그아웃 기능 구현 과정은 아래의 세가지 단계로 나눠 생각해볼 수 있다.

 

1. 로그아웃 route 만들기

2. 로그아웃하려는 유저를 DB에서 찾기

3. 그 유저의 토큰 삭제

 

 

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
            })
        })
})

 

미들웨어 auth에서 설정해준 req로 유저 아이디를 찾아서 정보를 업데이트(findOneAndUpdate) 해준다.

 

 

 

이제 로그아웃 기능을 확인해보자.

 

MongoDB에서 확인해보면, token이 있는게 로그인된 것이다. 이 유저를 로그아웃 시켜보자.

먼저 'npm run start'로 서버를 켜고, postman에서 send를 보내 로그인한다.

 

 

 

 

그 후 get을 해보면

위 그림과 같이 로그아웃에 성공한 것을 확인할 수 있다.

728x90

+ Recent posts