diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index c28cc25d57..0f276a17c7 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -11,6 +11,7 @@ const privileges = require('../privileges'); const categories = require('../categories'); const plugins = require('../plugins'); const meta = require('../meta'); +const middlewareHelpers = require('../middleware/helpers'); const helpers = module.exports; @@ -124,7 +125,17 @@ helpers.notAllowed = async function (req, res, error) { if (req.loggedIn || req.uid === -1) { if (res.locals.isAPI) { - helpers.formatApiResponse(403, res, error); + if (req.originalUrl.startsWith(`${relative_path}/api/v3`)) { + helpers.formatApiResponse(403, res, error); + } else { + res.status(403).json({ + path: req.path.replace(/^\/api/, ''), + loggedIn: req.loggedIn, + error: error, + title: '[[global:403.title]]', + bodyClass: middlewareHelpers.buildBodyClass(req, res), + }); + } } else { const middleware = require('../middleware'); await middleware.buildHeaderAsync(req, res);