API REST Публикация двух запросов одновременно с разными свойствами завершается неудачно с кодом состояния 403 из-за проверки CSRF - PullRequest
0 голосов
/ 26 июня 2019

отправляю два почтовых запроса с использованием REST API: http://localhost:8111/app/rest/buildQueue, но мой второй запрос не выполняется с 403 Запрещено: Ответ с кодом состояния 403 из-за неудачной проверки CSRF: отсутствует заголовок «Origin» и нет аутентификации предоставленный с запросом, рассмотрите возможность добавления заголовка «Origin: http://localhost:8111"». Мне интересно, почему это происходит, поскольку, если я запускаю сборку в пользовательском интерфейсе и изменяю параметры, например, build1 имеет% version = 2% и build2 имеет% version = 3%, он будет работать параллельно друг с другом на разных доступных агентах.

Вот мой json-запрос, который я отправил

REST API: http://localhost:8111/app/rest/buildQueue JSON BODY:

{"branchName": "master", "buildType": {"id": "DockerBuild", "projectId": "Test"}, "properties": {"property": [{"name": " DOCKER_IMAGE_NAME "," value ":" test-3 "}, {" name ":" SNAPSHOT_DEPENDENCY_VERSION "," value ":" 0.6 "}]}}

Мне не хватает параметра, чтобы иметь возможность запускать сборку параллельно друг с другом?

403 Запрещено: Ответ с кодом состояния 403 из-за неудачной проверки CSRF: заголовок «Origin» отсутствует и аутентификация не предусмотрена в запросе, рассмотрите возможность добавления заголовка «Origin: http://localhost:8111".

»

1 Ответ

0 голосов
/ 01 июля 2019

Когда вы сталкиваетесь с проблемами, связанными с защитой CSRF в TeamCity (например, вы получаете ответ «Ответ с кодом состояния 403 из-за неудачной проверки CSRF» от сервера), вы можете выполнить следующие действия:

  • Если вы используете обратный прокси-сервер, убедитесь, что вы правильно настроили заголовки Host / Origin, как описано выше. Тем временем вы можете добавить общедоступный URL-адрес вашего сервера к источникам с поддержкой CORS .

  • Вы можете временно отключить защиту CSRF, установив teamcity.csrf.origin.check.enabled = logOnly внутреннее свойство .

  • Информация о неудачных попытках CSRF регистрируется в TeamCity / logs / teamcity-auth.log файлах. Для более подробной диагностики запросов включите предустановка ведения журнала debug-auth .

Попробуйте передать в заголовке запроса -H 'Origin: http://localhost:8111'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...