decode.js 498 B

1234567891011121314151617181920
  1. const JWT = require('jsonwebtoken')
  2. const config = require('../../../config')
  3. const decode = async (req, res, next) => {
  4. const r = /^Bearer (.*)$/.exec(req.headers['authentication'])
  5. if (r) {
  6. const token = r[1]
  7. try {
  8. const decoded = await JWT.verify(token, config.auth.jwtSecret)
  9. req.user = decoded.user
  10. next()
  11. } catch (err) {
  12. res.setHeader('X-JWT-Error', err.message || err.toString())
  13. next()
  14. }
  15. } else {
  16. next()
  17. }
  18. }
  19. module.exports = decode