我在運行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/