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.pub
和 rsa.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:如何获取认证参数?的主要内容,如果未能解决你的问题,请参考以下文章