jQuery (Jira) 的 XSRF 检查失败

Mar*_*ujo 3 javascript jquery jira jira-rest-api

我正在尝试创建一个问题,但它返回“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); 
   } 
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下有人可以帮助我吗?

小智 5

这似乎是 Atlassian 的一个已知问题,由您的请求发送的用户代理引起。

它在他们的知识库中:“使用浏览器 User-Agent 标头的 REST API 调用可能会失败 CSRF 检查”,参见https://confluence.atlassian.com/jirakb/rest-api-calls-with-a-browser-user-代理标头可能会失败-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 总结: “用一些虚拟值覆盖用户代理字符串,它将起作用”