Basically i'm doing redirect from a.example.com to www.example.com and i expect to be able to delete cookies on www.example.com (because cookie is created with .example.com as the cookie domain), but following code doesn't work.
I know that this question seems like duplicate question, i tried everything from similar question but it doesn't work. See after the code what i already tried.
Using express 3.0.3 and node 0.10.32.
express session middleware
...
var cookiedata = {
domain : '.example.com',
originalMaxAge : null,
httpOnly : false
};
app.use(express.session({
store : ...,
secret : ...,
key : 'express.sid',
cookie : cookiedata
}));
...
logout function
function logout(req, res){
...
req.session.destroy(function(){
req.session = null;
res.clearCookie('express.sid', { path: '/' });
res.redirect('https://www.example.com');
});
}
What i already tried from similar question
So i put path : '/'
in express session middleware such as:
app.use(express.session({ ..., path : '/' });
No success.
No success.
To delete a cookie, use the clearCookie function. For example, if you need to clear a cookie named foo, use the following code. var express = require('express'); var app = express(); app. get('/clear_cookie_foo', function(req, res){ res.
We can check cookies by visiting localhost:3000/setcookie. This will show a message as cookies are added.
The res. clearCookie() function is used to clear the cookie specified by name. This function is called for clearing the cookies which as already been set. For example if a user cookie is set, then it can be cleared using this function.
What worked for me was adding path and domain in res.clearCookie
res.clearCookie(<cookie-name>, {path: '/', domain: <domain-on-which-cookie-is-set>}
Also, make sure to include credentials on the frontend, otherwise no cookie will be sent with the request. If no cookie goes to the server, it has nothing to clear!
fetch('url.com', {credentials: "include"}
This is working for me with cookie-parser
module:
router.get('/logout', function(req, res){
cookie = req.cookies;
for (var prop in cookie) {
if (!cookie.hasOwnProperty(prop)) {
continue;
}
res.cookie(prop, '', {expires: new Date(0)});
}
res.redirect('/');
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With