假设我想删除一个cookie(例如环的会话cookie):在clojure/ring中,如何删除cookie?
制作响应图是这样的:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
似乎工作,但感觉有点哈克。
是否有一个干净的方式来删除它?
假设我想删除一个cookie(例如环的会话cookie):在clojure/ring中,如何删除cookie?
制作响应图是这样的:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
似乎工作,但感觉有点哈克。
是否有一个干净的方式来删除它?
这似乎是一个相当合理的方式去实现它。 Many web a applications删除Cookie将其替换为即将过期的Cookie。 :max-age 1
语法使其看起来比它的样式更优雅,例如Javascript。
我正在使用wrap-session和ring.middleware中的其他处理程序。 设置cookie来最大年龄的反应是行不通的,因为它只是被覆盖
这是我需要做的(非常令人沮丧的诊断!):
(defn clear-session! [resp]
(assoc resp :session nil))
ring
似乎不支持此操作,但您可以向用户代理发送一个新的Cookie,其中的Expires属性包含过去的值。
或者cookie的有效期设置为时代或最大年龄开始到0甚至非环应用删除的cookie的标准方式。 – soulcheck
'(defn expire-cookie [resp name] (assoc-in resp [:cookies name] {:value“”:max-age 0}))'' –