Ved*_*shu 5 ruby ruby-on-rails-4
ROR4 request.cookies和cookies对象之间有区别吗?
我目前正在尝试从我的node.js服务器向我的ROR4应用程序发送带有cookie的请求.似乎在ROR应用程序中,request.cookies包含我发送的cookie但是cookies对象(现有逻辑所基于的)没有它.
我搜索了文档,但无法找到任何相关内容.有没有我错过的东西?任何帮助表示赞赏.
理想的情况下,request.cookies并cookies应该是相同的.但是,在POST(创建操作)请求中,rails会验证XSRF令牌.如果该验证失败,则来自的cookie request.cookies不可用request.cookie_jar.这意味着,通过该cookies方法无法使用它们.
确定cookie是否不匹配是因为XSRF令牌丢失.在您的请求中,尝试识别Cookie哈希的类.cookies.hash应该回报你ActionDispatch::Cookies::CookieJar.如果它返回ActionController::RequestForgeryProtection::ProtectionMethods::NullSession::NullCookieJar,则您的XSRF令牌不匹配.
当您通过javascript进行这些调用时,可能会发生这种情况,默认情况下不会选择XSRF令牌并随请求一起发送.请参阅此处的答案:https://stackoverflow.com/a/8175979/976880以了解如何解决此问题.
| 归档时间: |
|
| 查看次数: |
3210 次 |
| 最近记录: |