假设我想删除一个 cookie(例如 ring 的 session cookie):
制作这样的响应图:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
似乎工作,但感觉有点hacky。
有没有一种干净的方法来删除它?
假设我想删除一个 cookie(例如 ring 的 session cookie):
制作这样的响应图:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
似乎工作,但感觉有点hacky。
有没有一种干净的方法来删除它?
这似乎是一种相当合理的方式。许多网络应用程序删除 cookie 并将其替换为即将过期的 cookie。:max-age 1
语法使它看起来比它在例如Javascript中更优雅。
我在 ring.middleware 中使用了 wrap-session 和其他处理程序。将cookie设置为最大年龄在响应中不起作用,因为它刚刚被覆盖(诊断非常令人沮丧!)
这是我需要做的:
(defn clear-session! [resp]
(assoc resp :session nil))
ring
似乎不支持这一点,但您可以向用户代理发送一个带有过去值的过期属性的新 cookie。