From c22614a40f65b041c1c1c2f63a8ddf5e72c627b4 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Mon, 23 Sep 2024 23:40:02 +0530 Subject: [PATCH] feat: verify jwt token --- server/src/middlewares/auth.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 server/src/middlewares/auth.ts diff --git a/server/src/middlewares/auth.ts b/server/src/middlewares/auth.ts new file mode 100644 index 00000000..98143c08 --- /dev/null +++ b/server/src/middlewares/auth.ts @@ -0,0 +1,29 @@ +import { Request, Response } from "express"; +import { verify } from "jsonwebtoken"; + +declare module "express-serve-static-core" { + interface Request { + user?: any; + } +} + +export const requireSignIn = (req: Request, res: Response, next: any) => { + const token = req.cookies && req.cookies.token ? req.cookies.token : null; + + if (token === null) return res.sendStatus(401); + + const secret = process.env.JWT_SECRET; + if (!secret) { + return res.sendStatus(500); // Internal Server Error if secret is not defined + } + + verify(token, secret, (err: any, user: any) => { + console.log(err) + + if (err) return res.sendStatus(403) + + req.user = user; + + next() + }) +};