diff --git a/core/server/services/members/middleware.js b/core/server/services/members/middleware.js index 5fd2ba6518..50f2cdc5fb 100644 --- a/core/server/services/members/middleware.js +++ b/core/server/services/members/middleware.js @@ -93,11 +93,14 @@ const decorateResponse = function (req, res, next) { next(); }; -// @TODO only loads this stuff if members is enabled +// @TODO only load this stuff if members is enabled // Set req.member & res.locals.member if a cookie is set module.exports = { - createSessionFromToken: [ + memberSession: [ getMemberDataFromSession, + decorateResponse + ], + createSessionFromMagicLink: [ exchangeTokenForSession, decorateResponse ], diff --git a/core/server/web/site/app.js b/core/server/web/site/app.js index 69a87df5ab..30d8f66d60 100644 --- a/core/server/web/site/app.js +++ b/core/server/web/site/app.js @@ -137,8 +137,11 @@ module.exports = function setupSiteApp(options = {}) { siteApp.delete('/members/ssr', shared.middlewares.labs.members, membersMiddleware.deleteSession); siteApp.post('/members/webhooks/stripe', shared.middlewares.labs.members, membersMiddleware.stripeWebhooks); - // Currently global handling for signing in with ?token= - siteApp.use(membersMiddleware.createSessionFromToken); + // Currently global handling for signing in with ?token= magiclinks + siteApp.use(membersMiddleware.createSessionFromMagicLink); + + // Global handling for member session, ensures a member is logged in to the frontend + siteApp.use(membersMiddleware.memberSession); // Theme middleware // This should happen AFTER any shared assets are served, as it only changes things to do with templates