front-end almost done | started back-end
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
const jwt = require('jsonwebtoken');
|
||||
const Admin = require('./models/admin/Admin')
|
||||
const User = require('./models/user/User')
|
||||
|
||||
const config = {
|
||||
// secret for generating jwt token
|
||||
secretKey: '2664debdbef6fdd2ae52ba2c9cd4d1d15f3cdca31a641aacad1a5c43cda91b55a145b3f4c573f69aeba3c942bf55417593ff74f7d192a5664358ee753ea09e8e'
|
||||
}
|
||||
|
||||
module.exports = config
|
||||
|
||||
// check if admin logged in
|
||||
module.exports.isAdmin = function (req, res, next) {
|
||||
const token = req.headers.authorization
|
||||
if (token) {
|
||||
// check if token is not destroyed
|
||||
Admin.findOne({token: token}, (err, user) => {
|
||||
if (err) throw err
|
||||
if (user) {
|
||||
// verifies secret and checks if the token is expired
|
||||
jwt.verify(user.token.replace(/^Bearer\s/, ''), config.secretKey, (err, decoded) => {
|
||||
if (err) {
|
||||
return res.status(401).json({message: 'unauthorized'})
|
||||
} else {
|
||||
return next()
|
||||
}
|
||||
})
|
||||
} else return res.status(401).json({message: 'unauthorized'})
|
||||
})
|
||||
} else {
|
||||
return res.status(401).json({message: 'unauthorized'})
|
||||
}
|
||||
}
|
||||
|
||||
// check if user logged in
|
||||
module.exports.isUser = function (req, res, next) {
|
||||
const token = req.headers.authorization
|
||||
if (token) {
|
||||
// check if token is not destroyed
|
||||
User.findOne({token: token}, (err, user) => {
|
||||
if (err) throw err
|
||||
if (user) {
|
||||
// verifies secret and checks if the token is expired
|
||||
jwt.verify(user.token.replace(/^Bearer\s/, ''), config.secretKey, (err, decoded) => {
|
||||
if (err) {
|
||||
return res.status(401).json({message: 'unauthorized'})
|
||||
} else {
|
||||
return next()
|
||||
}
|
||||
})
|
||||
} else return res.status(401).json({message: 'unauthorized'})
|
||||
})
|
||||
} else {
|
||||
return res.status(401).json({message: 'unauthorized'})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user