박민정

[feat] logout

...@@ -53,7 +53,7 @@ app.post('/api/users/register', (req, res) => { ...@@ -53,7 +53,7 @@ app.post('/api/users/register', (req, res) => {
53 53
54 }) 54 })
55 55
56 -// 로그인 구현 56 +// 로그인 구현 -> 로그인 하면 토큰 생성
57 app.post('/api/users/login', (req, res) => { 57 app.post('/api/users/login', (req, res) => {
58 // 1. 요청된 이메일이 데이터베이스에 있는지 찾기 58 // 1. 요청된 이메일이 데이터베이스에 있는지 찾기
59 User.findOne({ email: req.body.email }, (err, user) => { 59 User.findOne({ email: req.body.email }, (err, user) => {
...@@ -82,7 +82,7 @@ app.post('/api/users/login', (req, res) => { ...@@ -82,7 +82,7 @@ app.post('/api/users/login', (req, res) => {
82 }) 82 })
83 83
84 84
85 -// 85 +// 인증 구현 (이 사람이 일반유저인지 관리자인지)
86 app.get('/api/users/auth', auth ,(req,res) => { 86 app.get('/api/users/auth', auth ,(req,res) => {
87 // 여기까지 미들웨어(auth) 통과했으면 authentication == true 라는 뜻 87 // 여기까지 미들웨어(auth) 통과했으면 authentication == true 라는 뜻
88 res.status(200).json({ 88 res.status(200).json({
...@@ -96,6 +96,17 @@ app.get('/api/users/auth', auth ,(req,res) => { ...@@ -96,6 +96,17 @@ app.get('/api/users/auth', auth ,(req,res) => {
96 }) 96 })
97 }) 97 })
98 98
99 +// 로그아웃 구현 (로그인 때 만든 토큰을 지워버림)
100 +app.get('/api/users/logout', auth, (req, res) => {
101 + User.findOneAndUpdate({_id: req.user._id}, // id로 User를 찾아서 업데이터 시킴
102 + { token: "" }, (err, user) => {
103 + if(err) return res.json({success: false, err});
104 + return res.status(200).send({
105 + success: true
106 + })
107 + })
108 +})
109 +
99 app.listen(port, () => { 110 app.listen(port, () => {
100 console.log(`Example app listening at http://localhost:${port}`) 111 console.log(`Example app listening at http://localhost:${port}`)
101 }) 112 })
......