Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Sails JS对Jira REST API进行身份验证_Api_Rest_Sails.js_Jira - Fatal编程技术网

使用Sails JS对Jira REST API进行身份验证

使用Sails JS对Jira REST API进行身份验证,api,rest,sails.js,jira,Api,Rest,Sails.js,Jira,刚接触Sails,我想知道如何通过Sails访问我的Jira帐户,以便使用Jira API REST创建/编辑/搜索一些问题 我到处都在找,有人能帮我吗 下面是我想做的一个例子: module.exports = { test: function(req, res) var https = require('https'); var https = require('https'), options = { host : "jira.company.c

刚接触Sails,我想知道如何通过Sails访问我的Jira帐户,以便使用Jira API REST创建/编辑/搜索一些问题

我到处都在找,有人能帮我吗

下面是我想做的一个例子:

    module.exports = {

test: function(req, res)

  var https = require('https');
      var https = require('https'), options = {
        host : "jira.company.com",
        port : 80,
        path : "/rest/api/2/search?jql=issue=TASC-1",
        method : 'GET'};
  https.request(options, function(response) {
    var responseData = '';
    response.setEncoding('utf8');

response.on('data', function(chunk){
  responseData += chunk;
});

response.once('error', function(err){
  // Some error handling here, e.g.:
  res.serverError(err);
});

response.on('end', function(){
  try {


       // response available as `responseData` in `yourview`
    res.locals.requestData = JSON.parse(responseData);
  } catch (e) {
  sails.log.warn('Could not parse response from options.hostname: ' + e);
  }
  res.view('client');
}); }).end();}} 

但在我看来我什么都没有,我认为这很正常,因为我没有进行身份验证

您可以使用/rest/auth/1/session进行身份验证和获取cookie:


或者,您可以通过/rest/api/2/search请求传递http基本身份验证头。

这是一个身份验证问题,为了解决这个问题,我只需在请求头中添加按官方解释格式设置的登录和密码属性,因此我的代码变成:

module.exports = {

test: function(req, res)

  var https = require('https');
      var https = require('https'), options = {
        host : "jira.company.com",
        port : 443,
        path : "/rest/api/2/search?jql=issue=TASC-1",
        method : 'GET'
        headers: {
                 "Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
    }
           };
  https.request(options, function(response) {
    var responseData = '';
    response.setEncoding('utf8');

response.on('data', function(chunk){
  responseData += chunk;
});

response.once('error', function(err){
  // Some error handling here, e.g.:
  res.serverError(err);
});

response.on('end', function(){
  try {

       // response available as `responseData` in `yourview`
    res.locals.requestData = JSON.parse(responseData);
  } catch (e) {
  sails.log.warn('Could not parse response from options.hostname: ' + e);
  }
  res.view('client');
}); }).end();}}