This commit is contained in:
Mr Swift
2024-04-27 20:15:37 +03:30
parent c647f11ae3
commit e324c39dea
3 changed files with 28 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
const asyncHandler = require("express-async-handler");
const jwt = require("jsonwebtoken");
const User = require("../models/userModels");
const validateToken = asyncHandler(async (req, res, next) => {
let token = req.headers.authorization || req.headers.Authorization;
if (!token) {
res.status(401);
throw new Error("User is not authorized(N)");
} else {
const tokenA = await User.findOne({ token })
if (tokenA) {
jwt.verify(token, process.env.ACCESS_TOKEN_SECERT, (err, decoded) => {
if (err) {
res.status(401);
throw new Error("User is not authorized(JWT E)");
}
req.user = decoded.user;
next();
});
} else {
res.status(401);
throw new Error("User is not authorized(DB N)");
}
}
});
module.exports = { name: "validateToken", run: validateToken };