16

假设我想删除一个 cookie(例如 ring 的 session cookie):

制作这样的响应图:

{:cookies {"ring-session" {:value "kill", :max-age 1}}}

似乎工作,但感觉有点hacky。

有没有一种干净的方法来删除它?

4

3 回答 3

15

这似乎是一种相当合理的方式。许多网络应用程序删除 cookie 并将其替换为即将过期的 cookie。:max-age 1语法使它看起来比它在例如Javascript中更优雅。

于 2013-01-10T17:14:45.380 回答
2

我在 ring.middleware 中使用了 wrap-session 和其他处理程序。将cookie设置为最大年龄在响应中不起作用,因为它刚刚被覆盖(诊断非常令人沮丧!)

这是我需要做的:

(defn clear-session! [resp]
 (assoc resp :session nil))

来源

于 2015-07-11T02:06:52.927 回答
1

ring似乎不支持这一点,但您可以向用户代理发送一个带有过去值的过期属性的新 cookie。

更多信息

于 2017-04-13T01:11:52.300 回答