Я обнаружил, что с включенной защитой CSRF я могу либо отправить запрос на публикацию с заголовком крошки и использовать username:PASSWORD
для основного заголовка аутентификации:
String basic = "<username>:<PASSWORD>";
HttpURLConnection c = (HttpURLConnection) new URL("https://host.com/jenkins/quietDown").openConnection();
c.setInstanceFollowRedirects(false);
c.setRequestMethod("POST");
c.addRequestProperty("Jenkins-Crumb", "<CRUMB>");
c.addRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(basic.getBytes()));
c.getInputStream().close();
или используйте username:APITOKEN
для основного заголовка аутентификации, в этом случае заголовок крошки не нужен:
String basic = "<username>:<APITOKEN>";
HttpURLConnection c = (HttpURLConnection) new URL("https://host.com/jenkins/quietDown").openConnection();
c.setInstanceFollowRedirects(false);
c.setRequestMethod("POST");
c.addRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(basic.getBytes()));
c.getInputStream().close();
Вопрос:
- Это предполагаемое использование (имя пользователя: APITOKEN без заголовка крошки)? Документация и существующие ответы SO расплывчаты.
Использование Jenkins 2.164.3 и Java 8.