我在Clojure Ring应用程序中使用Friend进行身份验证/授权。我试图通过“记住我”将会话数据保存到cookie中。功能,以便它可以存活,例如服务器重启。我的处理程序定义是:
(def secured-routes
(-> app-routes
(friend/authenticate friend-param-map)
(wrap-defaults (-> site-defaults
(assoc-in [:security :anti-forgery] false)
(assoc :session {:store (cookie-store {:key "16-byte-secret"})
:cookie-name "TestCookie"
:cookie-attrs {:max-age 1800}})
(assoc :cookies true)))
wrap-json-params))
我还需要编写什么才能使其正常工作?我是否需要先在其中一个app-routes
处理程序中创建一个cookie?
谢谢!
答案 0 :(得分:1)
我猜你已经知道这个issue了。无论如何,据我所知,你最好的机会是使用wrap-session
这样的事情应该有效(抱歉没有经过测试)
(def secured-routes
(-> app-routes
(friend/authenticate friend-param-map)
(wrap-session {:cookie-attrs {:max-age 3600} :cookie-name "TestCookie" } )
(wrap-defaults (-> site-defaults
(assoc-in [:security :anti-forgery] false)))
wrap-json-params))