相关疑难解决方法(0)

单页应用程序和CSRF令牌

我需要使用带有Rails CSRF保护机制的单页应用程序(React,Ember,Angular,我不在乎)。

我想知道是否需要ApplicationController像这样创建令牌传送时间:

class ApplicationController < ActionController::Base

  after_action :set_csrf_cookie

  def set_csrf_cookie
    cookies["X-CSRF-Token"] = form_authenticity_token
  end

end
Run Code Online (Sandbox Code Playgroud)

或者我只能创建一次令牌

每个会话还是每个(非GET)请求?

我认为令牌在会话有效之前仍然有效,对吗?

澄清

每次浏览页面时,我看到Rails的默认应用程序(服务器呈现的页面)都会更新csrf令牌。因此,每次改变。

因此,在我的情况下,如果我为每个after_action会话创建一个新令牌,则以前的CSRF-Token对该会话仍然有用。那么,如何使先前的令牌无效?我必须?

因为只有当我使之无效时,对吗?

javascript session ruby-on-rails csrf reactjs

4
推荐指数
2
解决办法
8149
查看次数

标签 统计

csrf ×1

javascript ×1

reactjs ×1

ruby-on-rails ×1

session ×1