diff --git a/src/middleware/redirect.js b/src/middleware/redirect.js index e67e151..d1e5d38 100644 --- a/src/middleware/redirect.js +++ b/src/middleware/redirect.js @@ -1,4 +1,8 @@ async function redirectMiddleware(request, response, next) { + if (request.path.startsWith('/account/logout')) { + return next(); + } + if (request.method === 'POST') { request.redirect = request.body.redirect?.startsWith('/') ? request.body.redirect : null; } diff --git a/src/middleware/render-data.js b/src/middleware/render-data.js index 50f1f97..075120d 100644 --- a/src/middleware/render-data.js +++ b/src/middleware/render-data.js @@ -6,6 +6,10 @@ async function renderDataMiddleware(request, response, next) { return next(); } + if (request.path.startsWith('/account/logout')) { + return next(); + } + // Get user local const reqLocale = request.locale; const locale = util.getLocale(reqLocale.language, reqLocale.region); diff --git a/src/middleware/require-login.js b/src/middleware/require-login.js index 71be929..86fcd83 100644 --- a/src/middleware/require-login.js +++ b/src/middleware/require-login.js @@ -1,4 +1,8 @@ async function requireLoginMiddleware(request, response, next) { + if (request.path.startsWith('/account/logout')) { + return next(); + } + // Verify the user is logged in if (!request.cookies.access_token || !request.cookies.refresh_token) { return response.redirect(`/account/login?redirect=${request.originalUrl}`);