jwt 스터디 2차
Sever/Node.js 2019. 1. 3. 00:33반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | const express = require('express'); const jwt = require('jsonwebtoken'); const app = express(); app.get('/api', (req, res)=>{ res.json( { message: 'Welcome to the API' } ); }); app.post('/api/posts', verifyToken, (req, res)=>{ jwt.verify(req.token, 'secretkey', (err, authData)=>{ if(err){ res.sendStatus(403); }else{ res.json({ message: 'Post created...', authData }) } }); }); app.post('/api/login', (req, res)=>{ const user = { id: 1, username: 'brad', email: 'brad@gmail.com' }; jwt.sign({user}, 'secretkey', { expiresIn: '30s' }, (err, token)=>{ res.json({ token }); }); }); function verifyToken(req, res, next){ const bearerHeader = req.headers['authorization']; if(typeof bearerHeader !== 'undefined'){ const bearer = bearerHeader.split(' '); const bearerToken = bearer[1]; req.token = bearerToken; next(); }else{ res.sendStatus(403); } } app.listen(5000, ()=>console.log('Server started on port 5000')); | cs |
반응형
'Sever > Node.js' 카테고리의 다른 글
nodejs mysql RESTful API (yellobean-server-00) (0) | 2019.01.08 |
---|---|
JWT를 구현하면서 마주치게 되는 고민들 (0) | 2019.01.03 |
jwt 스터디 1차 (0) | 2019.01.02 |
jwt (0) | 2019.01.01 |
Node.js Passport login (0) | 2018.12.20 |