jira python oauth:如何获取认证参数?

Posted

技术标签:

【中文标题】jira python oauth:如何获取认证参数?【英文标题】:jira python oauth: how to get the parameters for authentication? 【发布时间】:2013-08-11 18:14:36 【问题描述】:

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

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

access_token, access_token_secret, consumer_key, key_cert

【问题讨论】:

链接“jira-python.readthedocs.org/en/latest/#oauth”已失效 (404) 【参考方案1】:

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

首先,设置 JIRA:

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

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

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

所以,总结一下:

access_token - 在 OAuth 1 工作流程结束时获得。 access_token_secret - 在 OAuth 1 工作流程结束时获得。 consumer_key - 在 JIRA 管理员中设置“应用程序链接”时指定。 key_cert - rsa.pem 文件的内容(私钥)。在 JIRA admin 中设置“应用程序链接”时也会添加公钥。

【讨论】:

成功了!如果有人遇到问题,请使用它来更改此答案中建议的脚本:community.atlassian.com/t5/Answers-Developer-Questions/… 如何生成RSA密钥对? confluence.atlassian.com/jirakb/…【参考方案2】:

首先您需要为您的应用程序添加一个指向 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 中)。 :)

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于jira python oauth:如何获取认证参数?的主要内容,如果未能解决你的问题,请参考以下文章

jira python 认证

Python操作Jira

使用 OAuth 和 Node.JS 对 JIRA REST API 进行身份验证

oauth2认证后返回#怎么获取accesstoken?

oauth2认证后返回#怎么获取accesstoken?

Spring oauth2 基本认证