From 835150239c0ec1d72da09483b1e7cf2bc669e237 Mon Sep 17 00:00:00 2001 From: Ramiro <rbentancor@globaluy.com> Date: Thu, 14 Oct 2021 22:46:41 -0300 Subject: [PATCH] JWT tokens --- dist/Controllers/UserCotroller.js | 20 +++++- dist/Controllers/UserCotroller.js.map | 2 +- package-lock.json | 100 ++++++++++++++++++++++++++ package.json | 2 + src/Controllers/UserCotroller.ts | 23 ++++-- src/config/config.ts | 4 ++ src/middlewares/token.middleware.ts | 28 ++++++++ 7 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 src/middlewares/token.middleware.ts diff --git a/dist/Controllers/UserCotroller.js b/dist/Controllers/UserCotroller.js index 8a26143..5045775 100644 --- a/dist/Controllers/UserCotroller.js +++ b/dist/Controllers/UserCotroller.js @@ -13,7 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); +const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const UserService_1 = __importDefault(require("../Services/UserService")); +const config_1 = require("../config/config"); +const token_middleware_1 = require("../middlewares/token.middleware"); const router = (0, express_1.Router)(); const listAll = (req, res) => __awaiter(void 0, void 0, void 0, function* () { try { @@ -153,13 +156,26 @@ const active = (req, res) => __awaiter(void 0, void 0, void 0, function* () { const login = (req, res) => __awaiter(void 0, void 0, void 0, function* () { try { const logged = yield UserService_1.default.login(req.body); - return res.status(200).send(logged); + const token = jsonwebtoken_1.default.sign({ + user: logged.get('id'), + role: logged.get('type'), + }, config_1.secret.auth, { + expiresIn: '2d', + }); + return res.status(200).send({ + token, + user: logged, + }); } catch (error) { + console.log(error); const e = error; return res.status(400).json({ error: e.message }); } }); +router.route('/login') + .post(login); +router.use('/', token_middleware_1.authorized); router.route('/') .get(listAll) .post(create); @@ -186,7 +202,5 @@ router.route('/:id/admin') .put(giveAdminPermission); router.route('/:id/client') .put(removeAdminPermission); -router.route('/login') - .post(login); exports.default = router; //# sourceMappingURL=UserCotroller.js.map \ No newline at end of file diff --git a/dist/Controllers/UserCotroller.js.map b/dist/Controllers/UserCotroller.js.map index 0ff3f55..7232d54 100644 --- a/dist/Controllers/UserCotroller.js.map +++ b/dist/Controllers/UserCotroller.js.map @@ -1 +1 @@ -{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0dfddcc..9814bc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1343,6 +1343,15 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/jsonwebtoken": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz", + "integrity": "sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -2158,6 +2167,11 @@ "node-int64": "^0.4.0" } }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2985,6 +2999,14 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -6733,6 +6755,30 @@ "graceful-fs": "^4.1.6" } }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "jsx-ast-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", @@ -6743,6 +6789,25 @@ "object.assign": "^4.1.2" } }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -6935,11 +7000,41 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -6951,6 +7046,11 @@ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", diff --git a/package.json b/package.json index f00e3bc..2dbd459 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dotenv": "^10.0.0", "express": "^4.17.1", "gulp-eslint": "^6.0.0", + "jsonwebtoken": "^8.5.1", "mysql2": "^2.3.0", "openapi-types": "^9.3.0", "sequelize": "^6.6.5", @@ -23,6 +24,7 @@ "@types/bluebird": "^3.5.36", "@types/cors": "^2.8.12", "@types/express": "^4.17.13", + "@types/jsonwebtoken": "^8.5.5", "@types/node": "^16.9.6", "@types/swagger-jsdoc": "^6.0.1", "@types/swagger-ui-express": "^4.1.3", diff --git a/src/Controllers/UserCotroller.ts b/src/Controllers/UserCotroller.ts index 09ce8e7..c35f83a 100644 --- a/src/Controllers/UserCotroller.ts +++ b/src/Controllers/UserCotroller.ts @@ -1,7 +1,10 @@ import { Request, Response, Router } from 'express'; +import jwt from 'jsonwebtoken'; import { User } from '../models/users.model'; import Paginator from '../interfaces/paginator.interface'; import UserService from '../Services/UserService'; +import { secret } from '../config/config'; +import { authorized } from '../middlewares/token.middleware'; const router = Router(); @@ -143,13 +146,28 @@ const active = async (req: Request, res: Response): Promise<Response> => { const login = async (req: Request, res: Response): Promise<Response> => { try { const logged: User = await UserService.login(req.body); - return res.status(200).send(logged); + const token = jwt.sign({ + user: logged.get('id'), + role: logged.get('type'), + }, secret.auth, { + expiresIn: '2d', + }); + return res.status(200).send({ + token, + user: logged, + }); } catch (error) { + console.log(error); const e = error as Error; return res.status(400).json({ error: e.message }); } }; +router.route('/login') + .post(login); + +router.use('/', authorized); + router.route('/') .get(listAll) .post(create); @@ -188,7 +206,4 @@ router.route('/:id/admin') router.route('/:id/client') .put(removeAdminPermission); -router.route('/login') - .post(login); - export default router; diff --git a/src/config/config.ts b/src/config/config.ts index 2c783cc..2da993b 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -8,3 +8,7 @@ export const development = { dialect: 'mysql', logging: false, }; + +export const secret = { + auth: 'HN$t@2*?mDusFsT!', +}; diff --git a/src/middlewares/token.middleware.ts b/src/middlewares/token.middleware.ts new file mode 100644 index 0000000..450c978 --- /dev/null +++ b/src/middlewares/token.middleware.ts @@ -0,0 +1,28 @@ +import { Response, NextFunction } from 'express'; + +import jwt from 'jsonwebtoken'; + +import { secret } from '../config/config'; + +const authorized = async (req: any, res: Response, next: NextFunction): Promise<void> => { + const token: string = req.headers.authorization || ''; + if (token) { + jwt.verify(token, secret.auth, (error: Error, decoded: {id: number; type: number}) => { + if (error) { + res.status(401).send('auth failed'); + } else { + req.auth = { + userId: decoded.id, + userType: decoded.type, + }; + next(); + } + }); + } else { + res.status(400).send('auth token not supplied'); + } +}; + +export { + authorized, +}; -- GitLab