Como faço para desativar a proteção CSRF em um app Rails?
-
02-07-2019 - |
Pergunta
A prevenção CSRF embutido no Rails está causando alguns problemas para alguma carga automatizado testes que estamos fazendo, e eu quero desligá-lo para a duração do processo. Como posso fazer isso?
Solução
Eu amo perguntas simples com respostas claras.
#I go in application.rb
self.allow_forgery_protection = false
Se você quiser fazer isso para testar só você pode mover-se que em um dos arquivos de ambiente (obviamente, você poderá tocar Application
em seguida, em vez de self
). Você poderia também algo de escrita como:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
Veja aqui para mais detalhes. (Rails contínua maravilhosa tradição de ter a documentação dos recursos essenciais em 2 anos posts, que foram destilados a partir de cometer logs.)
Outras dicas
Em Rails 3, remova o comando protect_from_forgery
em app/controllers/application_controller.rb