From 3a84cc8ef56c20fce74707f0aa9df7f120ee693e Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 25 Nov 2020 19:47:17 +0100 Subject: [PATCH] basic jwt auth test --- src/middlewares/jwtauth.ts | 17 +++++++++++++++++ src/routes/v1/test.ts | 10 ++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/middlewares/jwtauth.ts create mode 100644 src/routes/v1/test.ts diff --git a/src/middlewares/jwtauth.ts b/src/middlewares/jwtauth.ts new file mode 100644 index 0000000..81c28c3 --- /dev/null +++ b/src/middlewares/jwtauth.ts @@ -0,0 +1,17 @@ +import { Request, Response, NextFunction } from "express"; +// import bodyParser from 'body-parser'; +// import cors from 'cors'; +import * as jwt from "jsonwebtoken"; + +export default (req: Request, res: Response, next: NextFunction) => { + const token = req.headers["auth"]; + try { + const jwtPayload = jwt.verify(token, "secretjwtsecret"); + // const jwtPayload = jwt.verify(token, process.env.JWT_SECRET); + res.locals.jwtPayload = jwtPayload; + } catch (error) { + console.log(error); + return res.status(401).send(); + } + next(); +}; diff --git a/src/routes/v1/test.ts b/src/routes/v1/test.ts new file mode 100644 index 0000000..7f000f5 --- /dev/null +++ b/src/routes/v1/test.ts @@ -0,0 +1,10 @@ +import { Router } from "express"; +import jwtauth from "../../middlewares/jwtauth"; + +const router = Router(); + +router.use("*", jwtauth, async (req, res, next) => { + return res.send("ok"); +}); + +export default router;