tutorial principiantes para node libro ejemplos javascript node.js cookies express express-session

javascript - principiantes - npm



node express, cómo borrar la cookie después de desconectarse (2)

Esto es response.clearCookie of Express.JS (file response.js en la línea 749).

var opts = merge({ expires: new Date(1), path: ''/'' }, options); return this.cookie(name, '''', opts);

Si establece un punto de interrupción en esta línea que verá caduca se informa en una fecha no válida. Entonces, en lugar de usar response.clearCookie, solo haz que expire inmediatamente como este.

response.cookie("express.sid", "", { expires: new Date() });

Básicamente redirecciona de a.example.com a www.example.com y espero poder eliminar las cookies en www.example.com (porque la cookie se crea con .example.com como el dominio de la cookie), pero el siguiente código no funciona.

Sé que esta pregunta parece una pregunta duplicada, intenté todo a partir de una pregunta similar, pero no funciona. Ver después del código lo que ya probé .

Usando express 3.0.3 y el nodo 0.10.32.

Express sesión de middleware

... var cookiedata = { domain : ''.example.com'', originalMaxAge : null, httpOnly : false }; app.use(express.session({ store : ..., secret : ..., key : ''express.sid'', cookie : cookiedata })); ...

función de cierre de sesión

function logout(req, res){ ... req.session.destroy(function(){ req.session = null; res.clearCookie(''express.sid'', { path: ''/'' }); res.redirect(''https://www.example.com''); }); }

Lo que ya probé de una pregunta similar

  1. https://github.com/strongloop/express/issues/691

Así que puse path : ''/'' en el middleware de sesión express, como:

app.use(express.session({ ..., path : ''/'' });

Sin éxito.

  1. https://groups.google.com/forum/#!topic/express-js/PmgGMNOzhgM
    En cambio, res.clearCookie usé: res.cookie (''express.sid'', '''', {expira: nueva Fecha (1), ruta: ''/''});

Sin éxito.


Esto funciona para mí con el módulo cookie-parser :

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(''/''); });