13

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

4

2 回答 2

3

在Brian 还提到的 Atlassian存储库中有一个带有 OAuth 的 Node.JS 示例。我认为这是用于 2-legged 身份验证。

它需要您已经设置的预先协商的消费者密钥。以下是如何获取可以保存在配置文件中的令牌的示例:https ://developer.atlassian.com/jiradev/api-reference/jira-rest-apis/jira-rest-api-tutorials/jira-rest -api-example-oauth-authentication

于 2015-02-24T19:44:38.807 回答
1

这是一个使用 Oauth 描述 node.js 和 jira 身份验证的博客

它在一个明确的框架中。我在下面粘贴了部分代码。

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

如果有人对代码的任何部分感到困惑,您可以在此答案中添加注释。

于 2016-07-13T10:35:01.030 回答