jquery - 使用 jQuery 的 Jenkins json REST api 和 CORS 请求

标签 jquery json rest jenkins cors

我正在尝试使用 Jenkins json API,但无法使身份验证正常工作。

设置:

  • Jenkins 安全性:Jenkin 自己的用户数据库
  • 访问:Matrix-gebaseerde beveiliging
  • CORS 通过 Jenkins CORS plugin
  • 使用注册用户的用户名/API token

尝试过:

var username = "username";
var apiToken = "apiToken";

// username / api-token on url (basic authentication)
$.ajax({
  url: "http://"+username+":"+apiToken+"@host:port/job/test/api/json",
  method: "GET"
});

// username / api-token supplied using jQuery's username/password properties
$.ajax({
  url: "http://host:port/job/test/api/json",
  method: "GET",
  username: username,
  password: apiToken
});

// username / api-token by setting "Authorization" header directly
$.ajax({
  url: "http://host:port/job/test/api/json",
  method: "GET",
  headers: {
      "Authorization": "Basic " + btoa(username + ":" + apiToken)
  }
});

所有这些尝试都会产生相同的结果: 响应:403禁止

最佳答案

回应 @nick 提供的答案:

我用过 Jenkins Cors Filter Plugin添加所需的 CORS header :

Access-Control-Allow-Origins: http://mydomain
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Authorization

@nick的解决方案要求您在同一浏览器中进行身份验证。
为了通过 REST 调用提供凭据,我添加了一个 “Authorization” header ,如下所示:

$.ajax({
  url:'https://myserver.com/job/MYJOB/lastBuild/api/json',
  method: 'GET',
  headers: {'Authorization': 'Basic ' + btoa('username:apitoken')}
}).done(function(data) {
  console.log(data);
}).fail(function() {
  console.error(arguments);
});

可以通过特定用户的配置检索apitoken以在Jenkins本身中使用。

关于jquery - 使用 jQuery 的 Jenkins json REST api 和 CORS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508417/

相关文章:

javascript - 如何在不刷新整个页面的情况下刷新div?

php - 循环动态值中的表

unit-testing - 如何模拟测试REST客户端?

rest - 对受 OAuth 2.0 保护的 Restful API 进行压力测试的最佳工具?

javascript - jQuery 打开关闭两个单独的 div 一个一个地使用相同的类

javascript - 添加行时为表格设置动画

javascript - 多个嵌套 ng-repeats 中的单选按钮(angular + JSON)

javascript - 如何使用 require ('./data.js' 读取 Node.js 中的 JSON 对象数组)

c - C 调试功能中的 Visual Studio Code Hello World 不起作用 Programm NullReferenceException :

c# - PayPal Rest API - 更新计费计划返回 URL