使用Node.JS使用OAuthvalidationJIRA REST API

我在Node.js中构build了一个客户端应用程序,用于创build新的JIRA问题,并且想要使用OAuth对用户进行身份validation。 对于Jira和Oauth新人来说,Atlassian文档是非常糟糕的。 所以,我正在寻找一个描述如何设置JIRA应用程序链接的示例,以及如何在通过OAuth连接到Jira的节点中构build基本应用程序。 我不确定在哪里可以看。 (我正在使用JIRA v6.0.4)

       

网上收集的解决方案 "使用Node.JS使用OAuthvalidationJIRA REST API"

Brian还提到了在Atlassian回购中使用OAuth的Node.JS。 我认为这是双腿authentication。

它需要你已经build立了一个预先协商的消费者密钥。 以下是如何获取可以保存在configuration文件中的令牌的示例: https : //developer.atlassian.com/jiradev/api-reference/jira-rest-apis/jira-rest-api-tutorials/jira-rest -API-示例-OAuth的authentication

这是一个使用Oauth描述node.js和jiraauthentication的博客

这是一个明确的框架。 我粘贴下面的代码的一部分。

var base_url = "YOUR_JIRA_BASE_URL"; //example https://test.atlassian.net app.get('/jira', function(req, res) { var oa = new OAuth(base_url + "/plugins/servlet/oauth/request-token", //request token base_url + "/plugins/servlet/oauth/access-token", //access token "mykey", //consumer key "YOUR_PEM_FILE_CONTENT", //consumer secret, eg. fs.readFileSync('jira.pem', 'utf8') '1.0', //OAuth version "http://localhost:1337/jira/callback", //callback url "RSA-SHA1"); oa.getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret) { if (error) { console.log(error.data); response.send('Error getting OAuth access token'); } else { req.session.oa = oa; req.session.oauth_token = oauthToken; req.session.oauth_token_secret = oauthTokenSecret; return res.redirect(base_url + "/plugins/servlet/oauth/authorize?oauth_token=" + oauthToken); } }); }); 

如果有人对代码的任何部分感到困惑,可以给这个答案添加评论。