Security post_中的InvalidAuthenticationToken通过_重定向
我们正在将Security post_中的InvalidAuthenticationToken通过_重定向,security,ruby-on-rails-3.2,csrf,Security,Ruby On Rails 3.2,Csrf,我们正在将rails3.0.0迁移到rails3.2.21。突然,在用户正在登录的集成测试中,我们开始体验到InvalidAuthenticityToken(见下文) post_via_redirect login_url,{:login=>{:login=>@user.login,:password=>@user.password} 我们有自定义的身份验证逻辑,而且它在更早的时候就可以正常工作 我们还尝试在上述调用中手动传递authenticity\u令牌,但没有任何帮助。我们尝试调试并发现,
rails3.0.0
迁移到rails3.2.21
。突然,在用户正在登录的集成测试中,我们开始体验到InvalidAuthenticityToken
(见下文)
post_via_redirect login_url,{:login=>{:login=>@user.login,:password=>@user.password}
我们有自定义的身份验证逻辑,而且它在更早的时候就可以正常工作
我们还尝试在上述调用中手动传递authenticity\u令牌
,但没有任何帮助。我们尝试调试并发现,当我们传递authenticity\u令牌
(使用SecureRandom.base64(32)
)时,\u csrf\u令牌
值与我们传递的authenticity\u令牌
不匹配
我们是否缺少任何配置?为Authentity\u令牌定义一种方法,并在出现此错误时使用
def set_form_authenticity_token
session[:_csrf_token] ||= SecureRandom.base64(32)
end
前。
params.merge(authenticity\u token:set\u form\u authenticity\u token)