Init
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
const asyncHandler = require("express-async-handler");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const Admin = require("../models/adminModels");
|
||||
const validateAdminToken = asyncHandler(async (req, res, next) => {
|
||||
let token = req.headers.siteuser || req.headers.SiteUser;
|
||||
|
||||
if (!token) {
|
||||
res.status(401);
|
||||
throw new Error("User is not authorized(N)");
|
||||
} else {
|
||||
const tokenA = await Admin.findOne({ token })
|
||||
if (tokenA) {
|
||||
jwt.verify(token, process.env.ACCESS_TOKEN_SECERT_ADMIN, (err, decoded) => {
|
||||
if (err) {
|
||||
res.status(401);
|
||||
throw new Error("User is not authorized(JWT E)");
|
||||
}
|
||||
req.admin = decoded.user;
|
||||
next();
|
||||
});
|
||||
} else {
|
||||
res.status(401);
|
||||
throw new Error("User is not authorized(DB N)");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
module.exports = { name: "validateAdminToken", run: validateAdminToken };
|
||||
Reference in New Issue
Block a user