gpt4 book ai didi

c# - 在 .NET 中使用 OAuth2.0 两条腿的方法访问 Jira API

转载 作者:可可西里 更新时间:2023-11-01 07:48:10 27 4
gpt4 key购买 nike

如何为 JIRA Rest API 创建访问 token ?我有的相关数据

  • 用户 key
  • 私钥/公钥组合

Jira 的 Rest API Oauth example假设采用三足法,并且非常不清楚要发送的实际参数是什么(我希望 Swagger 成为更广泛使用的标准!)。

更详细地说,我有以下用例:在 Web 窗体 (ASPX) 门户应用程序中创建新员工时,我需要创建新的 JIRA 帐户并将其分配给项目(以及项目内的角色)。

因此,我想使用 OAuth2 两方身份验证来完成此操作。我可能可以使用基本身份验证破解它,但我真的很想正确地做到这一点。

在尝试查找使用此方法的代码示例时会出现问题。 .NET 示例非常稀少,即使是其他语言的示例也通常使用基本身份验证(在每次调用时传输用户名和密码)或很少使用三足方法。

我找到了 AnotherJiraRestClient但是查看它使用 RestClient nuget(这很好)但使用 HttpBasicAuthenticator(这很糟糕)的代码。

我检查了所有提供的身份验证器,OAuth2AuthorizationRequestHeaderAuthenticator 看起来很有前途,但它要求我已经拥有访问 token 。所以这就是为什么最后的问题是“如何使用两条腿的方法创建访问 token ?”

我已经使用此设置在 JIRA 端创建了应用程序链接:

  • 申请类型:一般申请
  • 传出身份验证:(在 Jira 端出现 500 服务器错误...但认为这不重要,因为我没有使用它)
  • 传入身份验证:OAuth
    • 状态:已配置
    • 消费者 key :TEST_JIRA_KEY
    • 公钥:...(生成的在线私钥/公钥组合)

最佳答案

Atlassian 目前不支持 OAuth 2.0,仅支持 1.0(a)。

有一个功能请求:https://jira.atlassian.com/browse/JRA-43171

我用 C#、>=.NET 4.5 和完全异步(支持代理)制作了一个开源 Jira 客户端,它可以在 GitHub 上以 NuGet 包的形式获得。请参阅:https://github.com/dapplo/Dapplo.Jira

今天我添加了 OAuth 1.0a 支持,我开始工作并使用此处的信息进行测试: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples/src/d625161454d1?at=default我使用该存储库中的公钥在我的 Jira Cloud 服务器上设置测试链接,并在我的测试用例中使用私钥。

测试代码在这里(它被注释掉了,因为 OAuth 进程打开了一个浏览器,这在测试服务器上是不好的) https://github.com/dapplo/Dapplo.Jira/blob/master/Dapplo.Jira.Tests/JiraOAuthTests.cs

我仍在寻找一种使证书/私钥读取更容易的方法,但在某种程度上这不是图书馆本身的工作......

如果有任何问题,我想 GitHub 上的问题是最好的交流方式。

关于c# - 在 .NET 中使用 OAuth2.0 两条腿的方法访问 Jira API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37609972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com