java - Jira OAuth - 无法创建应用程序链接

标签 java oauth rsa jira jira-rest-api

我正在尝试创建一个使用 jira 进行身份验证的应用程序。我正在使用 Jira Rest api对于相同的。在文档中,它说使用相同的公钥和消费者 key 来创建文档中给出的应用程序链接。这工作正常,我能够创建访问 token 。但是在 this 中提到的 java 代码中,我不确定应该为 private_key 提供什么。我尝试了两种方法-

  1. 使用 rsa 生成随机私钥并提供它代替无效的 private_key。它给出了异常,告诉 length too long。我尝试了 2048、1024、512、256 和 128 位。一切都给出了同样的错误。

申请链接:

消费者 key :硬编码消费者

消费者名称:硬编码消费者

公钥: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxZDzGUGk6rElyPm0iOua0lWg84nOlhQN1gmTFTIu5WFyQFHZF6OA4HX7xATttQZ6N21yKMakuNdRvEudyN/coUqe89r3Ae+rkEIn4tCxGpJWX205xVF3Cgsn8ICj6dLUFQPiWXouoZ7HG0sPKhCLXXOvUXmekivtyx4bxVFD9Zy4SQ7IHTx0V0pZYGc6r1gF0LqRmGVQDaQSbivigH4mlVwoAO9Tfccf+V00hYuSvntU+B1ZygMw2rAFLezJmnftTxPuehqWu9xS5NVsPsWgBL7LOi3oY8lhzOYjbMKDWM6zUtpOmWJA52cVJW6zwxCxE28/592IARxlJcq14tjwYwIDAQAB

  1. 生成了私钥和公钥对,并分别在应用程序链接和代码中提供了相同的 key 。但在这种情况下,我无法创建访问 token 。它正在给予-

申请链接:

消费者 key :硬编码消费者

消费者名称:硬编码消费者

公钥: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0YjCwIfYoprq/FQO6lb3asXrx LlJFuCvtinTF5p0GxvQGu5O3gYytUvtC2JlYzypSRjVxwxrsuRcP3e641SdASwfr mzyvIgP08N4S0IFzEURkV1wp/IpH7kH41EtbmUmrXSwfNZsnQRE5SYSOhh+LcK2w yQkdgcMv11l4KoBkcwIDAQAB

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.simontuffs.onejar.Boot.run(Boot.java:340)
    at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.RuntimeException: Failed to obtain request token
    at com.atlassian.oauth.client.example.AtlassianOAuthClient.getRequestToken(AtlassianOAuthClient.java:66)
    at com.atlassian.oauth.client.example.JIRAOAuthClient.main(JIRAOAuthClient.java:52)
    ... 6 more
Caused by: net.oauth.OAuthProblemException: signature_invalid
    at net.oauth.client.OAuthResponseMessage.toOAuthProblemException(OAuthResponseMessage.java:83)
    at net.oauth.client.OAuthClient.invoke(OAuthClient.java:306)
    at net.oauth.client.OAuthClient.invoke(OAuthClient.java:260)
    at net.oauth.client.OAuthClient.getRequestTokenResponse(OAuthClient.java:190)
    at com.atlassian.oauth.client.example.AtlassianOAuthClient.getRequestToken(AtlassianOAuthClient.java:57)

谁能告诉我应该做什么?我在这里错过了什么吗? 还有共享 key 、消费者 key 和公钥之间有什么区别?

提前致谢

最佳答案

异常是由于 JIRA 基本 URL 以“/”结尾(由 net.oauth.OAuthProblemException: signature_invalid 引起)

正确的要求是:

java -jar rest-oauth-client-1.0.one-jar.jar requestToken https://jira_base_server_url http://your_redirctedUrl

关于java - Jira OAuth - 无法创建应用程序链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125026/

相关文章:

iphone - iOS - 从指数+模数创建 SecKeyRef

encryption - 使用 RSA 签署许可文件

javascript - Google Plus 身份验证回调不起作用

java - OAuth2 Java - 如何设置 Accept header

java - nextDouble() 在我输入 double 值时抛出 InputMismatchException

java - 如何授予新创建的角色加入新创建的 JDA 库语音聊天的权限?

android - Android 中有效的谷歌帐户 OAuth 2 token

Javascript RSA-OAEP 不适用于任意输入长度

java - 终端 : IOException: Exec_tty error:Unknown reason

java - 我的加密程序需要帮助