Подтвердить что ты не робот

В clojure/ring, как удалить cookie?

Предположим, я хочу удалить файл cookie (например, ring session cookie):

Создание карты ответов следующим образом:

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

похоже, работает, но он немного взломан.

Есть ли простой способ просто удалить его?

4b9b3361

Ответ 1

Это кажется вполне разумным способом обойти это. Многие веб-приложения удаляют файлы cookie, заменяя их тем, срок действия которых истекает. Синтаксис :max-age 1 делает этот вид намного более элегантным, чем в, например, Javascript.

Ответ 2

Я использовал wrap-session и другие обработчики в ring.middleware. Установка cookie на максимальный возраст не срабатывала в ответ, поскольку он просто перезаписывался (очень расстраивает диагностику!)

Это то, что мне нужно было сделать:

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

источник

Ответ 3

ring похоже, не поддерживает это, но вы можете отправить агенту пользователя новый файл cookie с атрибутом Expires со значением в прошлом.

дополнительная информация