【问题标题】:Rails 3 - How to pass authentication token to client side framework like SproutcoreRails 3 - 如何将身份验证令牌传递给客户端框架,如 Sproutcore
【发布时间】:2011-08-16 10:25:04
【问题描述】:
我正在考虑开发一个带有 Rails 3 后端的 Sproutcore 客户端 web 应用程序。我设想的问题之一是必须通过身份验证令牌以及 Sproutcore 和 Rails 之间的通信。
CSRF 令牌何时重新生成?它是基于每个会话的吗?是否可以禁用登录请求的真实性检查,然后从登录中传回身份验证令牌并将其存储在客户端以供将来的请求使用?
【问题讨论】:
标签:
ruby-on-rails
csrf
sproutcore
javascriptmvc
【解决方案1】:
无论用户是否登录,您都可以加载真实性令牌。它与会话一起存储,并且在用户登录后不会更改,您无需禁用真实性检查。我使用这个 sn-p 来设置一个 javascript 变量:
<%= javascript_tag "var AUTH_TOKEN = #{form_authenticity_token.inspect};" if protect_against_forgery? %>