This commit is contained in:
counterweight 2025-03-06 00:33:15 +01:00
parent 72b68e772b
commit 1ec83c5e5d
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 25 additions and 11 deletions

View file

@ -1,7 +1,6 @@
const redirectIfNotAuthorizedMiddleware = require('./redirectIfNotAuthorizedMiddleware');
const redirectIfMissingProfileDetailsMiddleware = require('./redirectIfMissingProfileDetailsMiddleware');
const redirectHomeIfAuthorized = require('./redirectHomeIfAuthorized');
const rejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware');
const sessionService = require('../services/sessionService');
const AttachPublicKeyMiddlewareProvider = require('./attachPublicKeyMiddleware');
@ -16,6 +15,11 @@ const createSessionMiddleware = new CreateSessionMiddlewareProvider({
sessionService,
}).provide();
const RejectIfNotAuthorizedMiddleware = require('./rejectIfNotAuthorizedMiddleware');
const rejectIfNotAuthorizedMiddleware = new RejectIfNotAuthorizedMiddleware(
sessionService
).provide();
module.exports = {
redirectIfNotAuthorizedMiddleware,
attachPublicKeyMiddleware,

View file

@ -1,13 +1,23 @@
const sessionService = require('../services/sessionService');
async function rejectIfNotAuthorizedMiddleware(req, res, next) {
if (!(await sessionService.isSessionAuthorized(req.cookies.sessionUuid))) {
return res.status(403).json({
success: false,
message: 'Your session is not authorized.',
});
class RejectIfNotAuthorizedMiddleware {
constructor({ sessionService }) {
this.sessionService = sessionService;
}
provide() {
return async (req, res, next) => {
if (
!(await this.sessionService.isSessionAuthorized(
req.cookies.sessionUuid
))
) {
return res.status(403).json({
success: false,
message: 'Your session is not authorized.',
});
}
next();
};
}
next();
}
module.exports = rejectIfNotAuthorizedMiddleware;
module.exports = RejectIfNotAuthorizedMiddleware;