diff --git a/common/models/user.js b/common/models/user.js index fa61aca7aba..032a5d3d415 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -407,10 +407,15 @@ module.exports = function(User) { ); }; - User.afterRemote('logout', function(ctx, result, next) { - var res = ctx.res; - res.clearCookie('access_token'); - res.clearCookie('userId'); + User.afterRemote('logout', function({req, res}, result, next) { + const config = { + signed: !!req.signedCookies, + domain: process.env.COOKIE_DOMAIN || 'localhost' + }; + res.clearCookie('jwt_access_token', config); + res.clearCookie('access_token', config); + res.clearCookie('userId', config); + res.clearCookie('_csrf', config); next(); }); diff --git a/server/boot/authentication.js b/server/boot/authentication.js index cf108fa3ba4..1e8e576b6e7 100644 --- a/server/boot/authentication.js +++ b/server/boot/authentication.js @@ -59,10 +59,14 @@ module.exports = function enableAuthentication(app) { } ); } - res.clearCookie('jwt_access_token'); - res.clearCookie('access_token'); - res.clearCookie('userId'); - res.clearCookie('_csrf'); + const config = { + signed: !!req.signedCookies, + domain: process.env.COOKIE_DOMAIN || 'localhost' + }; + res.clearCookie('jwt_access_token', config); + res.clearCookie('access_token', config); + res.clearCookie('userId', config); + res.clearCookie('_csrf', config); res.redirect('/'); }); }); diff --git a/server/boot/user.js b/server/boot/user.js index bc05d88470d..530114e5df0 100644 --- a/server/boot/user.js +++ b/server/boot/user.js @@ -119,10 +119,14 @@ module.exports = function(app) { if (err) { return next(err); } req.logout(); req.flash('success', 'You have successfully deleted your account.'); - res.clearCookie('jwt_access_token'); - res.clearCookie('access_token'); - res.clearCookie('userId'); - res.clearCookie('_csrf'); + const config = { + signed: !!req.signedCookies, + domain: process.env.COOKIE_DOMAIN || 'localhost' + }; + res.clearCookie('jwt_access_token', config); + res.clearCookie('access_token', config); + res.clearCookie('userId', config); + res.clearCookie('_csrf', config); return res.status(200).end(); }); }