【问题标题】:WARNING: Can't verify CSRF token authenticity警告:无法验证 CSRF 令牌的真实性
【发布时间】:2017-07-19 22:37:52
【问题描述】:

信息: 我正在开发中。在 http 的 3000 端口上运行。 在我的登录页面上,唯一的会话信息是 =

:_csrf_token    "JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A="

登录表单有这个隐藏元素:

<input name="authenticity_token" type="hidden" value="JISqEbDHAxteJM2E96/S/9iimgBLwVsLP37CpvIBo/A=">

所以 CSRF 似乎匹配。但是当我输入我的用户名和密码时,首先它说 警告:无法验证 CSRF 令牌真实性 然后在日志中我看到它更新了我的“last_sign_in”,这让我相信它成功了登录。devise::sessionsController#create 正在被调用。

我已经确认的事情:

  1. app/views/layouts/application.html.erb 里面有 &lt;%= csrf_meta_tag %&gt;
  2. jquery_ujs.js 正在页面上加载,我相信这会将 CSRF 信息添加到任何 jquery ajax 请求中。

在这个问题出现的时候,我开始弄乱我的应用程序服务器。

【问题讨论】:

    标签: ruby-on-rails ssl devise


    【解决方案1】:

    这不是根本原因,但更高级的原因是我没有使用 SSL 证书来提供它。不知何故,这导致它不起作用。一旦我将 SSL 而不是 HTTP 添加到我的开发应用程序中,它就会再次起作用。有人知道为什么吗?

    【讨论】:

      猜你喜欢
      • 2013-05-30
      • 2011-11-04
      • 2011-11-15
      • 2013-06-16
      • 1970-01-01
      • 2012-04-27
      • 2012-03-10
      相关资源
      最近更新 更多