无法销毁由Express创build的JavaScript中的cookie

对于OAuthstream程,我将访问令牌设置在服务器(Express)上的Cookie中,如下所示:

res.cookie('name' , 'myname', {httpOnly: false, path:'/'}); res.cookie('access_token', accessToken); // on the client console.log(document.cookie); // displays "name=myname; access_token=12345" 

当/如果访问令牌不再有效,我想销毁cookie。 所以在客户端上,如果服务器无法使用该访问令牌成功请求,我正在这样做:

 document.cookie = 'name=myname; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; console.log(document.cookie) // displays "access_token=12345" 

所以出于某种原因,它将删除cookie的“名称”部分,而不是访问令牌。 我怎样才能彻底销毁cookies?

我看到了有关如何path应该是相同的,或者httpOnly设置为true的其他评论将阻止JavaScript变异的cookie,但我已经解决了所有这一切,仍然令牌坚持在cookie中。

使用下面的代码:

 var delete_cookie = function(name) { document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;'; }; delete_cookie('name'); delete_cookie('access_token'); 

设置cookie可以使用

 res.cookie("key", value); 

要删除您可以使用的cookie

 res.clearCookie("key");