first commit backend
This commit is contained in:
23
app/auth.js
Normal file
23
app/auth.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const jwt = require('jsonwebtoken')
|
||||
const config = require('./config')
|
||||
const User = require('./models/user')
|
||||
|
||||
const Auth = {
|
||||
async isAuth (req, res, next) {
|
||||
const token = req.body.token || req.params.token || req.headers['x-access-token']
|
||||
console.log('[AUTH] ', token)
|
||||
if (!token) return res.status(403).send({ message: 'Token not found' })
|
||||
jwt.verify(token, config.secret, async (err, decoded) => {
|
||||
if (err) return res.status(403).send({ message: 'Failed to authenticate token ' + err })
|
||||
console.log('DECODED TOKEN', decoded)
|
||||
req.user = await User.findOne({ where: {email: decoded.email}})
|
||||
next()
|
||||
})
|
||||
},
|
||||
async isAdmin (req, res, next) {
|
||||
if (req.user.is_admin) return next()
|
||||
return res.status(403).send({ message: 'Admin needed' })
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Auth
|
||||
Reference in New Issue
Block a user