Ruby on rails 警告:Can';t验证CSRF令牌的真实性
信息: 我在搞发展。在http上的端口3000上运行。 在我的登录页面上,唯一的会话信息为=Ruby on rails 警告:Can';t验证CSRF令牌的真实性,ruby-on-rails,ssl,devise,Ruby On Rails,Ssl,Devise,信息: 我在搞发展。在http上的端口3000上运行。 在我的登录页面上,唯一的会话信息为= :_csrf_token "JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A=" 登录表单包含此隐藏元素: <input name="authenticity_token" type="hidden" value="JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A="> 所以CSRF似乎是匹配的。但当我
:_csrf_token "JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A="
登录表单包含此隐藏元素:
<input name="authenticity_token" type="hidden" value="JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A=">
所以CSRF似乎是匹配的。但当我输入用户名和密码时,首先它会显示警告:无法验证CSRF令牌的真实性,然后在日志中我看到它更新了我的“上次登录”,这让我相信它已成功登录<正在调用代码>设计::会话控制器#创建
我已经证实的事情:
app/views/layouts/application.html.erb
中有
jquery\u ujs.js
正在页面上加载,我相信这会将CSRF信息添加到任何jquery ajax请求中在这个问题出现的时候,我开始搞乱我的应用服务器 这不是根本原因,但更高层次的原因是我没有使用SSL证书为其提供服务。不知何故,这导致了它不起作用。一旦我将SSL而不是HTTP添加到我的开发应用程序中,一切又开始工作了。有人知道为什么吗