2013-07-16 26 views
9
ile OAuth kullanarak JIRA REST API'sını doğrulayın

Yeni JIRA sorunları oluşturmak için Node.js uygulamasında bir istemci uygulaması yapıyorum ve OAuth kullanarak kullanıcıların kimliğini doğrulamak istiyorum. Atlassian doktorları, Jira ve Oauth'un yeni gelenleri için oldukça kötü. Bu yüzden, JIRA uygulama bağlantısının nasıl kurulacağını ve OAuth üzerinden Jira'ya bağlanan düğümde temel bir uygulamanın nasıl oluşturulacağını açıklayan tek bir örnek arıyorum. Başka nereye bakacağından emin değilim. (JIRA v6.0.4 kullanıyorum).Node.JS

+1

Herhangi bir başarı elde ettiniz mi? Atlassian'ın Bitbucket'inde bir Node.js örneği var: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples. – Brian

+1

Bu cevaba bir göz atın - sizin için yararlı olabilir: http://stackoverflow.com/a/19116334/129815 –

cevap

2

Brian'ın da bahsettiği Atlassian Repo'da bir example for Node.JS with OAuth var. Ben 2 aşamalı kimlik doğrulama için olduğunu düşünüyorum.

Sizin tarafından önceden ayarlanmış bir önceden görüşülmüş tüketici anahtarına gereksinim duyar. https://developer.atlassian.com/jiradev/api-reference/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-oauth-authentication

+0

Bu repo ve kullanıcı çözümlerinin sorunlarını kontrol etmeyi unutmayın. Oldukça eski ve güncellenmesi gerekiyor! – Mouneer

0

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

Bir ekspres çerçevede ise: Burada yapılandırma dosyasında kaydedebilen bir belirteç edinme bir örnektir. Aşağıdaki kodun bir kısmını yapıştırıyorum.

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

Kodun herhangi bir kısmı hakkında herhangi biri karıştıysa, bu yanıta yorum ekleyebilirsiniz.