From e324c39deaa1cc812c69af0b07668811a057a30c Mon Sep 17 00:00:00 2001 From: Mr Swift Date: Sat, 27 Apr 2024 20:15:37 +0330 Subject: [PATCH] Update --- ...lidateTokenHandler.js => VidoeValidate.js} | 0 ...eAdminTokenHandler.js => validateAdmin.js} | 0 middleware/validateUser.js | 28 +++++++++++++++++++ 3 files changed, 28 insertions(+) rename middleware/{validateTokenHandler.js => VidoeValidate.js} (100%) rename middleware/{validateAdminTokenHandler.js => validateAdmin.js} (100%) create mode 100644 middleware/validateUser.js diff --git a/middleware/validateTokenHandler.js b/middleware/VidoeValidate.js similarity index 100% rename from middleware/validateTokenHandler.js rename to middleware/VidoeValidate.js diff --git a/middleware/validateAdminTokenHandler.js b/middleware/validateAdmin.js similarity index 100% rename from middleware/validateAdminTokenHandler.js rename to middleware/validateAdmin.js diff --git a/middleware/validateUser.js b/middleware/validateUser.js new file mode 100644 index 0000000..79c575e --- /dev/null +++ b/middleware/validateUser.js @@ -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 };