【问题标题】:ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken): Rails 5ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):Rails 5
【发布时间】:2018-11-02 10:26:21
【问题描述】:

您好,我有 rails 5 应用程序,它抛出以下错误 Can't verify CSRF token authenticity.ActionController::InvalidAuthenticityToken 在登台环境中提交 POST 登录请求时出错。这很奇怪,因为表单在生产和开发环境中运行良好。这是请求参数

{  
   "method":"POST",
   "path":"/users/sign_in",
   "format":"html",
   "controller":"Users::SessionsController",
   "action":"create",
   "status":422,
   "error":"ActionController::InvalidAuthenticityToken: ActionController::InvalidAuthenticityToken",
   "duration":11.53,
   "view":0.0,
   "params":{  
      "utf8":"✓",
      "authenticity_token":"LDPxQ17rH9W/AoW1Hfeyd4in1Ms7snMuys6IyFIlB6K9JoCLanfjHg6OOcqlf/HkE9pPzEuOwVz3d29iwYaJbA==",
      "user":{  
         "email":"",
         "password":"[FILTERED]"
      },
      "commit":"Login"
   },
   "@timestamp":"2018-05-23T12:08:26.463Z",
   "@version":"1",
   "message":"[422] POST /users/sign_in (Users::SessionsController#create)"
}

【问题讨论】:

  • 您正确提交了令牌,所以可能是浏览器故障?不妨试试隐身。

标签: ruby-on-rails ruby ruby-on-rails-5


【解决方案1】:

您可以将其添加到控制器中

skip_before_action :verify_authenticity_token

当然不建议这样做,但由于某种原因,它解决了我的问题,因为它仅在我的整个应用程序的一个表单上发生,跳过此身份验证是安全的。

【讨论】:

  • 谢谢阿米尔,但我想知道真正的原因。
  • 不客气 :),看看这个,它应该对你有帮助 bhalash.com/archives/13544808782
  • 这会造成很大的安全问题。
  • 没错,这就是为什么我说它不推荐,只是一个临时解决方案
猜你喜欢
  • 2017-11-13
  • 2016-11-14
  • 1970-01-01
  • 2018-11-27
  • 2011-03-22
  • 2015-11-23
  • 2017-04-12
  • 2015-05-21
  • 2019-12-25
相关资源
最近更新 更多