2013-07-16 154 views
9

我在Node.js中構建了一個客戶端應用程序,用於創建新的JIRA問題,並且我想使用OAuth對用戶進行身份驗證。 Atlassian文檔對Jira和Oauth新手來說相當糟糕。因此,我正在尋找一個描述如何設置JIRA應用程序鏈接的示例,以及如何在通過OAuth連接到Jira的節點中構建基本應用程序。我不知道還有什麼地方可以看。 (我正在使用JIRA v6.0.4)使用OAuth和Node.JS驗證JIRA REST API

+1

你有沒有成功? Atlassian的Bitbucket上有一個Node.js示例,它位於:https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples。 – Brian

+1

看看這個答案 - 可能對你有所幫助:http://stackoverflow.com/a/19116334/129815 –

回答

2

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

+0

不要忘記檢查這個回購和用戶解決方案的問題。這是相當古老,需要更新! – Mouneer

0

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); 
    } 
}); 
}); 

如果有人對代碼的任何部分感到困惑,可以給此答案添加評論。