12

I am trying to use oauth to access jira, and I am reading this document: Welcome to jira-python's documentation.

But in this oauth part, I cannot figure out how I can get these parameters:

access_token, access_token_secret, consumer_key, key_cert

4

3 回答 3

13

我也在使用 jira-python。由于 jira-python 使用requestsrequests-oauthlib,我使用这些相同的库来实现获取令牌所需的 OAuth 1 舞蹈。

首先,设置 JIRA:

  1. 生成 RSA 公钥/私钥对(你最终得到rsa.pubrsa.pem文件)。您的 Python 代码将需要访问私钥rsa.pem
  2. 使用“传入身份验证”配置 JIRA 应用程序(在“应用程序链接”下的 JIRA 管理中完成)并使用上面生成的公钥。这是您指定consumer_keyjira-python 所需的地方

接下来,OAuth 舞蹈。OAuth1Session使用requests-oauthlib非常简单。这是一个简单的示例 (CLI):JIRA Oauth in Python

requests-oauthlib文档中描述了工作流程:OAuth 1 Workflow

所以,总结一下:

  • access_token - 在 OAuth 1 工作流程结束时获得。
  • access_token_secret - 在 OAuth 1 工作流程结束时获得。
  • consumer_key - 在 JIRA admin 中设置“应用程序链接”时指定。
  • key_cert -rsa.pem文件的内容(私钥)。在 JIRA admin 中设置“应用程序链接”时也会添加公钥。
于 2014-01-12T19:14:07.007 回答
3

首先,您需要为您的应用程序添加到 JIRA 的应用程序链接:https ://confluence.atlassian.com/display/JIRA060/Configuring+Application+Links

对于访问 JIRA 的应用程序不是 Web 应用程序的情况,您可以使用任意 URL 作为应用程序 URL,但是当应用程序图标显示在 JIRA 管理 UI 中的应用程序链接列表中时,该 URL 将用于检索应用程序图标。

然后,您需要进行所谓的“oauth dance”来获取 OAuth 令牌及其相应的秘密。请在此处查看 Atlassian 示例:https ://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples/src

这些示例主要涵盖舞蹈本身,而使用 OAuth 令牌+秘密(在舞蹈期间收到)的身份验证记录在此处:http: //jira.readthedocs.io/en/latest/examples.html#oauth。我希望这有帮助。

至少它对我有用(在我的情况下也在 Python 中)。:)

于 2013-10-01T12:35:49.293 回答
1

不幸的是,其他答案不适用于 Python 3。我发现https://github.com/rkadam/jira-oauth-generator完全涵盖了 Python 3 中的 Jira OAuth。

于 2018-12-03T12:34:25.470 回答