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

View file

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