Détruire le cookie NodeJs
Je suis en utilisant Les Cookies module de réglage témoin. Voici la suite de mon code:
var options = { maxAge: ALMOST_ONE_HOUR_MS,
domain: '.test.com',
expires: new Date(Date.now() + ALMOST_ONE_HOUR_MS)
};
var value = userInfo.token;
cookies.set( "testtoken", value, options );
Mais dans la documentation, je n'ai pas trouvé comment détruire ce cookie.
Toute suggestion serait la bienvenue.
source d'informationauteur Manwal
Vous devez vous connecter pour publier un commentaire.
Pour webapp, vous pouvez simplement placer le biscuit en réponse que :
et supprimer les cookies :
Il n'y a pas moyen de supprimer un cookie selon la spécification HTTP. Pour effet de "supprimer" un "cookie", vous définissez la date d'expiration à une date dans le passé. Essentiellement, ce résultat suivant pour vous (selon les cookies documentation du module):
Ou selon la spécification HTTP:
À la fois de ce qui devrait fonctionner. Vous pouvez remplacer
Date.now()
avecnew Date(0)
pour une très vieille date.Je suis en utilisant ce avec
cookie-parser
module:De supprimer tout http cookie si nous essayons juste de le supprimer de réponse [à l'aide de
res.clearCookie("key")
], il est certainement ne va pas au travail. En réalité, pour supprimer le cookie, le domaine et le chemin d'accès sont très importants.Domaine et le chemin de définir la portée du cookie. En face, ils se dire essentiellement le navigateur ce site web, le cookie appartient.
L'envoi de la même valeur du cookie ; expire ajouté est également une mauvaise idée puisque vous voulez que le contenu soit détruit, mais qui ne va pas arriver.
La meilleure idée serait d'invalider le cookie en configurant la valeur à vide et comprennent un champ date d'expiration ainsi comme ci-dessous:
Espérons que cette aide!!!
Tandis qu'une autre réponse est correcte, la suppression d'un cookie à partir d'un express.js webapp est fait par la facturation de la méthode suivante:
res.clearCookie("key");
Mais il y a une mise en garde!
Votre cookie options (à l'exception d'expiration) doivent être les mêmes que lorsque vous l'avez créé. Sinon, les navigateurs ne sera PAS supprimer le cookie. Il faut donc utiliser le même domaine, la sécurité etc. (référence: https://expressjs.com/en/4x/api.html#res.clearCookie)