From d97acb7881d7db58dac1b8ee6eb182467e43124f Mon Sep 17 00:00:00 2001 From: "Mahesh Warang (warangm)" Date: Fri, 4 Nov 2022 10:34:01 +0530 Subject: [PATCH] Add files via upload --- .env | 2 ++ utils/verifyToken.js | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 .env create mode 100644 utils/verifyToken.js diff --git a/.env b/.env new file mode 100644 index 0000000..e5a766b --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +MONGO= mongodb+srv://mahesh:mahesh2021@cluster0.nqx8obu.mongodb.net/users?retryWrites=true&w=majority +JWT = 6101526200 \ No newline at end of file diff --git a/utils/verifyToken.js b/utils/verifyToken.js new file mode 100644 index 0000000..f8f7a79 --- /dev/null +++ b/utils/verifyToken.js @@ -0,0 +1,41 @@ +import jwt from "jsonwebtoken"; + + +export const verifyToken = (req,res,next) => { + const token = req.cookies.access_token; + if (!token) { + return res.status(404).send("Not Authenticated") + } + + jwt.verify(token, process.env.JWT, (err, user) => { + if (err) { + return res.status(404).send("Token unverified"); + } + req.user = user; + next() + }) +} + +export const verifyUser = (req, res, next) => { + + verifyToken(req, res,next, () => { + if (req.user.id == req.params.id) { + next() + } else { + if (err) + return res.status(400).send("Token is not valid") + } + }) + +} + +export const verifyAdmin = (req, res, next) => { + verifyToken(req, res, next,() => { + if (req.user.isAdmin) { + next(); + } else { + if (err) + return res.status(400).send("Token is not valid"); + } + }); +}; \ No newline at end of file