我在运行Heroku最新版Devise的Rails 4.2应用程序时遇到问题。我将在前言中说明我在相当一段时间内没有将任何代码更改推向生产,并且这个问题最近才刚刚开始。Heroku/Rails/Devise:你想要的改变被拒绝
当我登录时,我收到一条错误消息,说“您要更改的内容已被拒绝。”当我查看日志时,我可以看到这是CSRF令牌的问题。
2015-04-04T19:52:22.430533+00:00 app[web.1]: Started POST "https://stackoverflow.com/users/sign_in" for 76.119.72.58 at 2015-04-04 19:52:22 +0000
2015-04-04T19:52:22.435480+00:00 app[web.1]: Completed 422 Unprocessable Entity in 1ms
2015-04-04T19:52:22.434143+00:00 app[web.1]: Processing by Devise::SessionsController#create as HTML
2015-04-04T19:52:22.434211+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"94uXDeV2wbb1XMfUL445zrIrbhS92pwe+9tWxkyvwtJhnZtZS3ydYOeP2grZvT/t2YMa2A2k/pA+U5X3gFXlAw==", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"}
2015-04-04T19:52:22.435112+00:00 app[web.1]: Can't verify CSRF token authenticity
2015-04-04T19:52:22.438522+00:00 app[web.1]:
我一直在淘洗StackOverflow的答案,并尝试了所有我能想到的。我已经尝试了一些不同的事情至今:
我加入这一行我
session_store.rb
认为这可能与开发和生产环境之间的混合饼干的问题。 Rails.application.config.session_store:cookie_store,键: “_abhnation_session _#{} Rails.env”我没有在
rails-api
宝石,这some讨论建议可能是罪魁祸首。
我也注意到问题严格与Firefox并且不是环境特定的。它发生在开发,测试和生产中。我只能通过测试会话来测试它。
我无法弄清楚是什么导致了这种情况发生。几个月后,我没有对我的面向公众的生产环境进行任何更改。
下面是代码链接:http://github.com/danielbonnell/abhnation-rails 这里是现场直播:http://abhnation.herokuapp.com/