· 6 years ago · Sep 23, 2019, 03:19 AM
1const express = require('express')
2const jwt = require('jsonwebtoken')
3const app = express()
4
5app.listen(4000, () => {
6 console.log(`\n This running on port 4000 \n`)
7})
8
9// Payload to be stored on Token
10const user = {
11 email: 'tatasfachrul@gmail.com',
12 userid: 5
13}
14
15// JWT sign key
16const secretKey = 'ThisIsSecretKey'
17
18// Create Token
19app.get('/token', (req, res) => {
20 const token = jwt.sign(user, secretKey, { expiresIn: '24h' })
21 res.send({ token })
22})
23
24// Verify token
25app.get('/', authToken, (req, res) => {
26 jwt.verify(req.token, secretKey, (err, data) => {
27 if (err) {
28 res.json({ message: 'Not authorized!' })
29 } else {
30 res.json({
31 message: 'Authorization success',
32 data
33 })
34 }
35 })
36})
37
38// Check and store token
39function authToken (req, res, next) {
40 const token = req.headers['authorization']
41
42 if (typeof token !== 'undefined') {
43 req.token = token
44 next()
45 } else {
46 res.json({ message: 'Token error' })
47 }
48}
49
50module.exports = app