Проверка XSRF не удалась с помощью jQuery (Jira) - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь создать проблему, но она возвращает ошибку «Проверка XSRF не удалась». Я использую следующий код:

$.ajax({ 
   async: true, 
   crossDomain: true, 
   url: 'https://testejiraloupen.atlassian.net/rest/api/2/issue', 
   method: 'POST', 
   headers: { 
      'Authorization': 'Basic ' + btoa('email:pass'), 
      'Content-Type': 'application/json', 
      /*'X-Atlassian-Token': 'nocache',*/ 
      'Access-Control-Allow-Origin': '*', 
      'Access-Control-Alow-Methods': 'POST, GET, PUT, OPTIONS, DELETE', 
      'Access-Control-Max-Age': '3600', 
      'Access-Control-Allow-Headers': 'x-requested-with, content-type' 
   }, 
   processData: false, 
   data: JSON.stringify(issue), 
   success: function(data) { 
      console.log('Issue created. Id >>> ' + data.id); 
   }, error: function(err) { 
      console.log(err); 
   } 
});

Может ли кто-нибудь помочь мне в этом случае?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Я использовал следующий заголовок для моих остальных вызовов API, и это сработало. X-Atlassian-Token: без проверки

Вот еще одна вики, касающаяся обработки токенов: https://confluence.atlassian.com/display/JIRA043/Form+Token+Handling?_ga=2.108983109.653657921.1530909405-1000252910.1505150128

0 голосов
/ 04 июля 2018

Кажется, это известная проблема Atlassian, вызванная агентом пользователя, отправленным по вашему запросу.

находится в их базе знаний: «Вызовы API REST с заголовком User-Agent браузера могут не пройти проверки CSRF», cf https://confluence.atlassian.com/jirakb/rest-api-calls-with-a-browser-user-agent-header-may-fail-csrf-checks-802591455.html

Еще одна ветка обсуждения здесь: https://community.atlassian.com/t5/Jira-questions/Jira-7-rest-api-XSRF-check-failed-for-post-issue-with/qaq-p/488706 В заключение: «Перезаписать строку User-Agent некоторым фиктивным значением, и оно будет работать»

...