Как передать токен CSRF для почтового запроса Rails в paw-app

Я пытаюсь использовать приложение Paw для тестирования сборки REST API в Rails 4.2.4. У меня есть метод создания, который ожидает JSON в качестве входных данных. Похоже, что запрос передает правильную информацию из Paws в виде структуры, но API Rails не работает со следующей ошибкой:

422 Unprocessable Entity
Не удается проверить подлинность токена CSRF.

При написании внешнего интерфейса JavaScript к запросу должен быть добавлен заголовок в форме:

webix.ajax().headers({'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}).post("geo_wells.json", parms), function(text){webix.message("posted");});

Все это отлично работает для постоянного удовлетворения CSRF, хотя я пытаюсь использовать Paws, чтобы помочь разобраться. Но я не могу получить этот мета-токен в Paws. Не знаю, как на самом деле добавить это в заголовок запроса. Пытался создать файл cookie и все файлы cookie ответов, но это тоже не помогло.

Любые идеи? Я бы хотел купить этот инструмент, но если он не может этого сделать, то он мне не так уж и полезен. Я бы предпочел не включать и не отключать CSRF, как это часто предлагается. Я надеюсь получить надежный ответ, который по-прежнему будет распространяться на тестирование API с полной поддержкой CSRF.


person CoderCanuck    schedule 29.03.2016    source источник
comment
Вы уже знаете, как передать токен CSRF с помощью ERB в форму? <input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>"   -  person max pleaner    schedule 29.03.2016
comment
Я делаю, и я, как уже отмечалось, передаю его через javascript. Вопрос касается приложения Paws и того, как заставить его работать с межсайтовым усилением. Но спасибо за дополнительный вклад, я ценю, что вы нашли время.   -  person CoderCanuck    schedule 30.03.2016
comment
Я вообще не эксперт в Rails, но, может быть, есть набор файлов cookie CSRF? Я знаю, что Django делает это, например, и есть расширение токена Django CSRF для Paw github.com/TheNounProject/Paw-DjangoCsrfToken/blob/master/ может быть, это будет хорошим вдохновением? В противном случае, не могли бы вы написать нам по адресу [email protected] с дампом заголовков, которые вы получили, + заголовок HTML, пожалуйста? Мы точно что-нибудь придумаем :)   -  person Micha Mazaheri    schedule 05.04.2016


Ответы (1)


В этой статье Paw.app был ответ.

Сначала установите расширение RegExMatch. См.: https://paw.cloud/extensions/RegExMatch.

После настройки Ruby on Rails начало работы регулярное выражение, необходимое для получения csrf token, было ниже:

параметры paw для регулярного выражения токена csrf

person rustyMagnet    schedule 24.03.2021