2013-07-16 32 views
9

Buduję aplikację kliencką w Node.js do tworzenia nowych problemów z JIRA i chcę uwierzytelniać użytkowników za pomocą protokołu OAuth. Dokumentacja Atlassiana jest bardzo zła dla nowicjuszy Jira i Oautha. Dlatego szukam pojedynczego przykładu, który dokładnie opisuje, jak skonfigurować łącze do aplikacji JIRA, i jak zbudować podstawową aplikację w węźle, która łączy się z Jira przez OAuth. Nie jestem pewien, gdzie jeszcze szukać. (Używam JIRA v6.0.4)Uwierzytelnianie interfejsu API REST interfejsu JIRA przy użyciu OAuth z Node.JS

+1

Czy odniosłeś jakiś sukces? Istnieje przykład Node.js na Bitbucket Atlassiana, który jest tutaj: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples. – Brian

+1

Spójrz na tę odpowiedź - może być pomocna dla Ciebie: http://stackoverflow.com/a/19116334/129815 –

Odpowiedz

2

Istnieje example for Node.JS with OAuth w repozytorium Atlassian, o którym wspominał także Brian. Myślę, że to jest dla uwierzytelniania dwunożnego.

Potrzebny jest wstępnie wynegocjowany klucz konsumenta już skonfigurowany przez Ciebie. Oto przykład, jak uzyskać token można zapisać w pliku konfiguracyjnym: https://developer.atlassian.com/jiradev/api-reference/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-oauth-authentication

+0

Nie zapomnij sprawdzić problemów związanych z tym rozwiązaniem repo i użytkownikami. Jest dość stary i wymaga aktualizacji! – Mouneer

0

Here's a blog describing node.js and jira authentication using Oauth

Jest w wyraźnej ramy. Wklejam część kodu poniżej.

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

Jeśli ktoś jest zdezorientowany w jakiejkolwiek części kodu, możesz dodać komentarz do tej odpowiedzi.

Powiązane problemy