const JWT = require('jsonwebtoken') const config = require('../../../config') const decode = async (req, res, next) => { const r = /^Bearer (.*)$/.exec(req.headers['authentication']) if (r) { const token = r[1] try { const decoded = await JWT.verify(token, config.auth.jwtSecret) req.user = decoded.user req.claims = decoded req.token = token next() } catch (err) { res.setHeader('X-JWT-Error', err.message || err.toString()) next() } } else { next() } } module.exports = decode