From 224f4e952fd425f641dace53290d76b3b12f6239 Mon Sep 17 00:00:00 2001 From: aelassas Date: Sat, 17 Feb 2024 22:23:42 +0100 Subject: [PATCH] Update authJwt.ts --- api/src/middlewares/authJwt.ts | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/api/src/middlewares/authJwt.ts b/api/src/middlewares/authJwt.ts index b0d70343..c0c1325c 100644 --- a/api/src/middlewares/authJwt.ts +++ b/api/src/middlewares/authJwt.ts @@ -3,6 +3,13 @@ import jwt from 'jsonwebtoken' import * as env from '../config/env.config' import * as Helper from '../common/Helper' +/** + * Verify authentication token middleware. + * + * @param {Request} req + * @param {Response} res + * @param {NextFunction} next + */ function verifyToken(req: Request, res: Response, next: NextFunction) { let token: string @@ -11,21 +18,23 @@ function verifyToken(req: Request, res: Response, next: NextFunction) { } else if (Helper.isFrontend(req)) { token = req.signedCookies[env.FRONTEND_AUTH_COOKIE_NAME] as string // frontend } else { - token = req.headers['x-access-token'] as string // mobile app + token = req.headers[env.X_ACCESS_TOKEN] as string // mobile app and unit tests } - if (!token) { - return res.status(403).send({ message: 'No token provided!' }) + if (token) { + // Check token + jwt.verify(token, env.JWT_SECRET, (err) => { + if (err) { + console.log(err) + res.status(401).send({ message: 'Unauthorized!' }) + } else { + next() + } + }) + } else { + // Token not found! + res.status(403).send({ message: 'No token provided!' }) } - - return jwt.verify(token, env.JWT_SECRET, (err) => { - if (err) { - console.log(err) - return res.status(401).send({ message: 'Unauthorized!' }) - } - - return next() - }) } export default { verifyToken }