当前使用Ring设置POST请求的CSRF令牌。我一直在回答这个问题作为指导Set Ring-Anti-Forgery CSRF header token。 遵循本指南后,我能够成功获取csrf标记并发送带curl的POST请求。但是,我只能以不使用(wrap-reload)和我的应用处理程序为代价来做到这一点。使用Ring重载时无法设置CSRF令牌
该指南使用此代码为应用处理器
(def app
(-> routes
(wrap-defaults site-defaults)
(wrap-session)))
然而,为了使用动态重装我在开发过程中所需要的(总结重装)功能。像这样,
(def app
(-> routes
(wrap-defaults site-defaults)
(wrap-session)
(wrap-exception)
(wrap-reload)))
我敢肯定,这是关系到通过评论在回答解决了问题,我上面链接的问题。在设置中间件默认设置时会产生一个错误,导致冗余行为。
反正我有可以使用包裹重载,仍然可以得到有效的CSRF令牌?
你的后台运行在JVM上,该代码是建立你的戒指服务器,可以使用雷音运行启动它。 Figwheel设置clojurescript的自动编译。你的应用程序应该提供html,然后调用figwheel的输出,它们是独立的过程,不应该发生冲突。我建议你发布一个链接到一个最小的工作例子,否则你的问题是非常模糊的。 –
好的,我明白你的观点,它是如何将轮轮和环加载分开的过程。我想我应该问如何使用ring的重载功能并获得正确的CSRF令牌。获取CSRF令牌的最小工作示例位于我发布的链接中。但它没有环重装。 –
'wrap-reload'不会对POST请求做任何事情,请参阅https://github.com/ring-clojure/ring/blob/1.4.0/ring-devel/src/ring/middleware/reload.clj# L7你可以把例子给github并给出链接? – edbond