feat: verify jwt token
This commit is contained in:
29
server/src/middlewares/auth.ts
Normal file
29
server/src/middlewares/auth.ts
Normal file
@@ -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()
|
||||
})
|
||||
};
|
||||
Reference in New Issue
Block a user