j'ai une application Rails qui sert certains apis à une application iphone. Je veux pouvoir publier simplement sur une ressource sans se préoccuper d'obtenir le bon jeton de csrf. J'ai essayé une méthode que je vois ici dans stackoverflow mais il semble qu'ils ne fonctionnent plus sur Rails 3. Merci de m'aider.
Dans le contrôleur où vous voulez désactiver CSRF, vérifiez:
skip_before_action :verify_authenticity_token
Ou pour le désactiver pour tout sauf quelques méthodes:
skip_before_action :verify_authenticity_token, :except => [:update, :create]
Ou pour désactiver uniquement les méthodes spécifiées:
skip_before_action :verify_authenticity_token, :only => [:custom_auth, :update]
Plus d'infos: Protection RoG Request Forgery
Dans Rails3, vous pouvez désactiver le jeton csrf de votre contrôleur pour certaines méthodes:
protect_from_forgery :except => :create
Avec Rails 4, vous avez maintenant la possibilité d'écrire en skip_before_action
au lieu de skip_before_filter
.
# Works in Rails 4 and 5
skip_before_action :verify_authenticity_token
ou
# Works in Rails 3 and 4 (deprecated in Rails 4 and removed in Rails 5)
skip_before_filter :verify_authenticity_token