2017-04-11 24 views
1

创建在JavaScript中的cookie对于一个OAuth流,我喜欢这样的设置在一个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的“名字”部分,但不是访问令牌。我怎样才能完全销毁饼干?

我看到了有关路径应该如何相同或httpOnly设置为true的其他评论会阻止JavaScript改变cookie,但我已经解决了所有这些问题,并且仍然在cookie中使用了令牌。

+0

当你执行这个=>'文件,会发生什么.cookie ='name = access_token;到期日=星期四,1970年1月1日00:00:00 UTC;路径= /';' –

回答

1

使用下面的代码:

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

工作正常!谢谢 –

0

来设置cookie的,你可以使用

res.cookie("key", value); 

删除Cookie,你可以使用

res.clearCookie("key"); 
+0

我想清除客户端的cookie。 –