Update
This commit is contained in:
@@ -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 };
|
||||||
Reference in New Issue
Block a user