/var/www/myprog.com.ua/server/node/api/middleware
Edit: /var/www/myprog.com.ua/server/node/api/middleware/auth.js (1389B)
const jwt = require('jsonwebtoken')
module.exports = async (req, res, next) => {
try {
if (!req.header('Authorization')) {
res.status(401).json('Authorization error.')
return
}
let token = req.header('Authorization').replace('Bearer ', '')
let decoded;
try {
decoded = jwt.verify(token, config.JWT_KEY)
} catch (e) {
// e = {
// name: 'TokenExpiredError',
// message: 'jwt expired',
// expiredAt: 1408621000
// }
// e = {
// name: 'JsonWebTokenError',
// message: 'jwt malformed'
// }
// e = {
// name: 'NotBeforeError',
// message: 'jwt not active',
// date: 2018 - 10 - 04T16: 10: 44.000Z
// }
await core.context.delete_token({token: token})
req.token = undefined
res.status(401).json('Authorization error.')
return
}
// let client = await core.context.get_client({ id: decoded.id })
// if (!client) {
// res.status(404).json('Authorization error. Client not found.')
// return
// }
req.token = decoded;
next()
} catch (e) {
res.status(401).json(e.message);
}
}