jira python oauth:如何获取身份验证参数?

时间:2013-08-09 18:11:33

标签: python oauth jira

我正在尝试使用oauth访问jira,我正在阅读此文档:Welcome to jira-python's documentation

但在这个oauth部分,我无法弄清楚如何获得这些参数:

access_token, access_token_secret, consumer_key, key_cert

3 个答案:

答案 0 :(得分:11)

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

首先,设置JIRA:

  1. 生成RSA公钥/私钥对(最终得到rsa.pubrsa.pem个文件)。您的Python代码需要访问私钥rsa.pem
  2. 使用“传入身份验证”配置JIRA应用程序(在“应用程序链接”下的JIRA admin中完成)并使用上面生成的公钥。您可以在此处指定jira-python
  3. 所需的consumer_key

    接下来,OAuth跳舞。来自requests-oauthlibOAuth1Session非常简单。这是一个简单的示例(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。中设置“应用程序链接”时,也会添加公钥。

答案 1 :(得分:3)

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

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

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

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

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

答案 2 :(得分:0)

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