Ruby on rails 轨道6-Heroku上的InvalidaAuthenticationToken
到目前为止,我还没有看到任何答案,如果不建议禁用它(我不想这么做),就不要回答这个问题 在本地,一切都正常,但部署到了Heroku上的producton,我得到了Ruby on rails 轨道6-Heroku上的InvalidaAuthenticationToken,ruby-on-rails,ruby,heroku,ruby-on-rails-6,Ruby On Rails,Ruby,Heroku,Ruby On Rails 6,到目前为止,我还没有看到任何答案,如果不建议禁用它(我不想这么做),就不要回答这个问题 在本地,一切都正常,但部署到了Heroku上的producton,我得到了InvalidAuthenticationToken 从我所看到的一切来看,一切都安排妥当了 Rails 6.0.3.1上的全新应用程序(因此,在默认情况下可能禁用设置的情况下,不会迁移该应用程序) RAILS\u MASTER\u键在Heroku中为会话设置 session\u store.rb设置为Rails.applicatio
InvalidAuthenticationToken
从我所看到的一切来看,一切都安排妥当了
上的全新应用程序(因此,在默认情况下可能禁用设置的情况下,不会迁移该应用程序)Rails 6.0.3.1
在Heroku中为会话设置RAILS\u MASTER\u键
设置为session\u store.rb
Rails.application.config.session\u store:cookie\u store,键:“\uuuuuu app\u session”,过期时间:1年
在我的版面中以及csrf\u meta\u标签
csp\u meta\u标签
- 没有使用ajax,这是一个带有的普通
表单。我可以在dev工具中看到CSRF标记,所以我知道它在HTML中
ApplicationController
中的这一点:
before_action :authenticate
但是,应用程序控制器中似乎不再设置prepend:true
无论如何,我都试图通过添加它来覆盖它(即使默认情况下它不在那里,而且如果我在操作之前将它添加到行上方,它仍然不起作用)
编辑我还想说,当试图发出删除命令时,固定的Sidekiq显示被禁止(kill job按钮)尝试在config/environments/production.rb
中添加config.force\u ssl=true
,并确保您的ssl配置正确,就像您所说的那样,切换到Full
ssl,而不是Flexible
您是否在生产中自托管?使用SSL?Heroku和Cloudflare。。。然而,你这么说让我意识到我从未将flexiblessl更改为Full。如果SSL是一个潜在的问题源,那么可能就是它。尝试一下,甚至在config/environments/production.rb
文件中添加config.force\u SSL=true
,效果很好。你能把这个作为答案,这样我就可以记下来吗?如果需要,您可以设置一些选项(灵活的ssl、强制ssl等)。另外,我应该补充一点,这个固定的sidekiq显示“禁止”你能帮助我们如何在AWS EC2上托管一个应用程序来做到这一点吗?我正在尝试删除Sidekiq上的“禁止”错误,当尝试执行“重试所有”时@DheerajAvvari您是否将config.force\u ssl=true
添加到您的config/environments/production.rb
文件?您确定在EC2中正确配置了SSL吗?您运行的是哪台服务器—Apache/Nginx?你在SSL-certbot或soemthing中使用什么?
protect_from_forgery with: :exception, prepend: true