From b6ddda6cd8ab5dc1ee37ba9bea6fcefd23648fdf Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 25 Nov 2020 19:41:26 +0100 Subject: [PATCH 1/4] vscode workspace settings.json ref #1 --- .vscode/settings.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..812953b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "editor.formatOnSave": true, + "typescript.format.enable": true, + "typescript.preferences.quoteStyle": "single", + "[json]": { + "editor.defaultFormatter": "vscode.json-language-features" + }, + "prettier.enable": false, + "[typescript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + } +} \ No newline at end of file From f96f5a63a42dd84181b014ee0e638d519329380f Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 25 Nov 2020 19:41:37 +0100 Subject: [PATCH 2/4] remove prettier config ref #1 --- .prettierrc | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 5a938ce..0000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "tabWidth": 4, - "useTabs": false -} From 447f4d882f23d65598fd7847cc659fa82ae91ac2 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 25 Nov 2020 19:42:22 +0100 Subject: [PATCH 3/4] tsconfig not strict ref #1 --- tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index dc76995..0f2192a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,8 +5,8 @@ "rootDir": "./src", "outDir": "./build", "esModuleInterop": true, - "strict": true, + "strict": false, "experimentalDecorators": true, - "emitDecoratorMetadata":true + "emitDecoratorMetadata": true } } \ No newline at end of file From 3a84cc8ef56c20fce74707f0aa9df7f120ee693e Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 25 Nov 2020 19:47:17 +0100 Subject: [PATCH 4/4] 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;