UNPKG

brutaljs

Version:

BrutalJS ========

46 lines (41 loc) 1.11 kB
jwt = require('jwt-simple') CONFIG = process.env User = require('../../models/user') # User.create({email: 'dssymssy@gmail.com', password: '$2a$10$hHFX5/2vq/Vl/VvaoEO8CeMYS01SaFIywq2PqU1X0/rsxridlJf/O'}) module.exports = (req, res, next) -> token = req.get('X-Auth') if token? decoded = null try decoded = jwt.decode(token, CONFIG.JWT_SECRET) catch err console.log(err) if !decoded? res.send(401) else if decoded.exp <= Date.now() res .status(401) .send('Access token has expired') else if req.user? if req.user._id is decoded.user._id then next() else res .status(401) .send('Logged in as different user.') else User.findById(decoded.user, (err, user) -> if err? res .status(400) .send('Cant find user') else if !user? res .status(401) .send('Cant find user') else req.user = user.toJSON() next() ) else res.send(401)