diff --git a/ExpressAPI/src/controllers/Session.ts b/ExpressAPI/src/controllers/Session.ts index ff9a4fcd33c8907b7f1292ab55ebfcd276dd4c1b..7f71824b3374e7a68660eb89e838b07b5e1d18a7 100644 --- a/ExpressAPI/src/controllers/Session.ts +++ b/ExpressAPI/src/controllers/Session.ts @@ -1,11 +1,11 @@ -import { getReasonPhrase } from 'http-status-codes'; -import * as jwt from 'jsonwebtoken'; -import { JwtPayload } from 'jsonwebtoken'; -import Config from '../config/Config'; -import express from 'express'; -import UserManager from '../managers/UserManager'; -import DojoResponse from '../shared/types/Dojo/DojoResponse'; -import { User } from '../types/DatabaseTypes'; +import { getReasonPhrase, StatusCodes } from 'http-status-codes'; +import * as jwt from 'jsonwebtoken'; +import { JwtPayload } from 'jsonwebtoken'; +import Config from '../config/Config'; +import express from 'express'; +import UserManager from '../managers/UserManager'; +import DojoResponse from '../shared/types/Dojo/DojoResponse'; +import { User } from '../types/DatabaseTypes'; class Session { @@ -22,7 +22,7 @@ class Session { constructor() { } - async initSession(req: express.Request) { + async initSession(req: express.Request, res: express.Response) { const authorization = req.headers.authorization; if ( authorization ) { if ( authorization.startsWith('Bearer ') ) { @@ -35,7 +35,9 @@ class Session { this.profile = jwtData.profile; this.profile = await UserManager.getById(this.profile.id!) ?? this.profile; } - } catch ( err ) { } + } catch ( err ) { + res.sendStatus(StatusCodes.UNAUTHORIZED).end(); + } } } } diff --git a/ExpressAPI/src/middlewares/SessionMiddleware.ts b/ExpressAPI/src/middlewares/SessionMiddleware.ts index bd246225ab6be1e5ac67c74d7d5040c676709afb..8f87f7d8e4d4ed87878a606669ff913ca605f1ba 100644 --- a/ExpressAPI/src/middlewares/SessionMiddleware.ts +++ b/ExpressAPI/src/middlewares/SessionMiddleware.ts @@ -6,7 +6,7 @@ class SessionMiddleware { register(): (req: express.Request, res: express.Response, next: express.NextFunction) => void { return async (req: express.Request, res: express.Response, next: express.NextFunction) => { req.session = new Session(); - await req.session.initSession(req); + await req.session.initSession(req, res); return next(); };