UNPKG

@bee.js/node

Version:

A JavaScript framework for making Node.js API´s

28 lines (19 loc) 999 B
const log = require('../beeHive/log') const beeJWT = require('../JWT/beeJWT') module.exports = async function(req, res, next, ignoreMiddlewares = false) { log(`Route: ${req.method} ${req.originalUrl}`) req.ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress if(!ignoreMiddlewares) { let token = (req.headers.authorization || '').split(' ').slice(-1)[0] let validSession = global.configs.middlewares.session //TODO let validPermission = global.configs.middlewares.permission //TODO if(global.configs.jwt) { log(`Token verify: ${token}`) token = beeJWT().verify(token) if(!token) return res.status(validSession.errorCode || 401).send({data: null, error: {message: validSession.error || 'NOT_AUTHENTICATED'}, action: validSession.failAction || 'NOT_AUTHENTICATED'}) req.token = JSON.parse(token) } } next() }