Showing
1 changed file
with
13 additions
and
2 deletions
... | @@ -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 | }) | ... | ... |
-
Please register or login to post a comment