对于OAuth流程,我在服务器(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的一部分,但不是访问令牌。我怎样才能完全破坏cookie?
我看到其他关于路径应该是相同的还是httpOnly设置为true的评论会阻止javascript改变cookie,但是我已经解决了所有问题,而且令牌仍然存在于cookie中。
答案 0 :(得分: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');
答案 1 :(得分:0)
要设置Cookie,您可以使用
Receipt orderResult = com.softlayer.api.service.billing.Order.service(client).placeOrder(subnet, Boolean.FALSE);
要删除Cookie,您可以使用
res.cookie("key", value);