ruby-on-rails – Rails CSRF令牌真实性和设计
发布时间:2020-12-16 19:08:12 所属栏目:百科 来源:网络整理
导读:我遇到了rails authenticity token和Devise login / logout的问题. 我使用骨干js构建单页面应用程序,所以我使用ajax登录/注销用户.这是我观察到的,我不明白为什么会发生这种情况. 我的布局中有csrf_meta_tags.页面加载,我点击登录按钮填写表格并提交,我已成
我遇到了rails authenticity token和Devise login / logout的问题.
我使用骨干js构建单页面应用程序,所以我使用ajax登录/注销用户.这是我观察到的,我不明白为什么会发生这种情况. 我的布局中有csrf_meta_tags.页面加载,我点击登录按钮填写表格并提交,我已成功登录.我可以做一些登录用户应该能做的事情. 现在我单击一个注销按钮,通过ajax发送DELETE请求,我已成功注销. 上面的所有过程都在一个页面上没有页面重新加载发生它的所有ajax. 现在,当我再次单击登录并填写表单时,它会发送ajax请求,登录但在服务器控制台上显示警告消息. WARNING: Can't verify CSRF token authenticity 现在为什么它(设计)登录我,首先如果它(rails)无法验证CSRF令牌的真实性. 现在,当我尝试执行登录用户应该能够执行的操作失败时,发布表单失败并显示错误消息 401 Unauthorized {"error":"You need to sign in or sign up before continuing."} 和服务器控制台上的警告 WARNING: Can't verify CSRF token authenticity 此时我已退出,如果我自己刷新页面,我可以看到我不再登录了. 到底是怎么回事 ? 我第一次退出后,我的第一个真实性令牌是否会过期? 我在用 rails (3.2.3) devise (2.1.0) 提前致谢 :) 解决方法
您必须发送authenticity_token变量以及所有ajax请求.您可以从页面的元标记中填充它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |