【问题标题】:Losing session on ajax callajax 调用丢失会话
【发布时间】:2014-04-18 18:18:56
【问题描述】:

因此,在我们的应用程序中,我们对我们的 api 进行了几次 ajax 调用(相同的域,相同的服务器)。

通常这些 ajax 调用是“自动建议”,上传图片,...

它在 rails 3 上运行良好,在本地 env(localhost) 上运行良好 rails 4 但在我们的开发服务器上它不再运行了。

我怀疑 csrf 出了问题,但我在页面中有 csrf 令牌,并且 ajax 调用也在发送令牌。

但是这是我在日志中的内容

Started GET "/api/v1/services/get_suggestions/289" for 50.16.6.85 at 2014-03-13 18:40:24 +0000
Processing by Api::V1::ServiceController#get_suggestions as JSON
  Parameters: {"service_id"=>"289"}
Completed 401 Unauthorized in 2ms
Started GET "/user/sign_in.json" for 50.16.6.85 at 2014-03-13 18:40:24 +0000
Processing by SessionsController#new as JSON
Redirected to http://dev.myapp.com/
Filter chain halted as :require_no_authentication rendered or redirected
Completed 302 Found in 466ms (ActiveRecord: 1.3ms)

有什么想法吗?

【问题讨论】:

    标签: ajax session ruby-on-rails-4 csrf


    【解决方案1】:

    您的会话是否可能与另一个子域相关联? CSRF 令牌与会话相关联,并且会话可以与特定子域相关联。

    例如,如果您的会话位于 myapp.com 域中

    但是向 dev.myapp.com 发出请求时,CSRF 令牌无效,因为它仅对域 http://maypp.com 上的会话有效。

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 2020-07-11
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 2014-10-15
      • 2015-10-11
      • 2011-11-14
      相关资源
      最近更新 更多