diff --git a/services/web/app/coffee/Features/TokenAccess/TokenAccessController.coffee b/services/web/app/coffee/Features/TokenAccess/TokenAccessController.coffee index b6b65cc7a7..395489c608 100644 --- a/services/web/app/coffee/Features/TokenAccess/TokenAccessController.coffee +++ b/services/web/app/coffee/Features/TokenAccess/TokenAccessController.coffee @@ -3,9 +3,19 @@ AuthenticationController = require '../Authentication/AuthenticationController' TokenAccessHandler = require './TokenAccessHandler' Errors = require '../Errors/Errors' logger = require 'logger-sharelatex' +settings = require 'settings-sharelatex' module.exports = TokenAccessController = + redirectNotFoundErrorToV1: (err, req, res, next) -> + if err instanceof Errors.NotFoundError and settings.overleaf + logger.log { + token: req.params['read_and_write_token'] + }, "[TokenAccess] No project found for token, redirecting to v1" + res.redirect(settings.overleaf.host + req.url) + else + next(err) + _loadEditor: (projectId, req, res, next) -> req.params.Project_id = projectId.toString() return ProjectController.loadEditor(req, res, next) diff --git a/services/web/app/coffee/router.coffee b/services/web/app/coffee/router.coffee index b196c56870..1fc42c354a 100644 --- a/services/web/app/coffee/router.coffee +++ b/services/web/app/coffee/router.coffee @@ -426,6 +426,7 @@ module.exports = class Router maxRequests: 10, timeInterval: 60 }), - TokenAccessController.readAndWriteToken + TokenAccessController.readAndWriteToken, + TokenAccessController.redirectNotFoundErrorToV1 webRouter.get '*', ErrorController.notFound