使用OAuth和Node.JS验证JIRA REST API
我在Node.js中构建了一个客户端应用程序,用于创建新的JIRA问题,并且我想使用OAuth对用户进行身份验证。 Atlassian文档对Jira和Oauth新手来说相当糟糕。因此,我正在寻找一个描述如何设置JIRA应用程序链接的示例,以及如何在通过OAuth连接到Jira的节点中构建基本应用程序。我不知道还有什么地方可以看。 (我正在使用JIRA v6.0.4)使用OAuth和Node.JS验证JIRA REST API
Brian还提到Atlassian回购中有example for Node.JS with OAuth。我认为这是双腿认证。
它需要一个已经由您设置的预先协商的消费者密钥。下面是一个例子如何获得令牌,你可以在你的配置文件保存:https://developer.atlassian.com/jiradev/api-reference/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-oauth-authentication
不要忘记检查这个回购和用户解决方案的问题。这是相当古老,需要更新! – Mouneer
Here's a blog describing node.js and jira authentication using Oauth
这是一个明确的框架。我粘贴下面的代码的一部分。
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);
}
});
});
如果有人对代码的任何部分感到困惑,可以给此答案添加评论。
你有没有成功? Atlassian的Bitbucket上有一个Node.js示例,它位于:https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples。 – Brian
看看这个答案 - 可能对你有所帮助:http://stackoverflow.com/a/19116334/129815 –