Подтвердить что ты не робот

Отключить токен CSRF в рельсах 3

У меня есть приложение rails, которое обслуживает apis для приложения iphone. Я хочу, чтобы иметь возможность просто размещать на ресурсе, не обращая внимания на получение правильного токена csrf. Я пробовал какой-то метод, который я вижу здесь в stackoverflow, но кажется, что они больше не работают на рельсах 3. Спасибо, что помогли мне.

4b9b3361

Ответ 1

В контроллере, где вы хотите отключить CSRF, проверьте:

skip_before_action :verify_authenticity_token

Или отключить его для всего, кроме нескольких методов:

skip_before_action :verify_authenticity_token, :except => [:update, :create]

Или отключить только указанные методы:

skip_before_action :verify_authenticity_token, :only => [:custom_auth, :update]

Дополнительная информация: RoR Request Forgery Protection

Ответ 2

В Rails3 вы можете отключить токен csrf в контроллере для определенных методов:

protect_from_forgery :except => :create 

Ответ 3

С Rails 4 у ​​вас теперь есть возможность записать в skip_before_action вместо skip_before_filter.

# Works in Rails 4 and 5
skip_before_action :verify_authenticity_token

или

# Works in Rails 3 and 4 (deprecated in Rails 4 and removed in Rails 5)
skip_before_filter :verify_authenticity_token