我正在尝试创建一个使用jira进行身份验证的应用程序。我正在使用Jira Rest api。在文档中,它说使用相同的公钥和消费者密钥来创建文档中给出的应用程序链接。这很好,我可以创建访问令牌。但是在this中提到的java代码中,我不确定应该为private_key提供什么。我尝试了两种方法 -
length too long
。我尝试了2048,1024,512,256和128位。一切都给出了同样的错误。申请链接:
消费者密钥:硬编码消费者
消费者名称:硬编码消费者
公钥: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxZDzGUGk6rElyPm0iOua0lWg84nOlhQN1gmTFTIu5WFyQFHZF6OA4HX7xATttQZ6N21yKMakuNdRvEudyN / coUqe89r3Ae + rkEIn4tCxGpJWX205xVF3Cgsn8ICj6dLUFQPiWXouoZ7HG0sPKhCLXXOvUXmekivtyx4bxVFD9Zy4SQ7IHTx0V0pZYGc6r1gF0LqRmGVQDaQSbivigH4mlVwoAO9Tfccf + V00hYuSvntU + B1ZygMw2rAFLezJmnftTxPuehqWu9xS5NVsPsWgBL7LOi3oY8lhzOYjbMKDWM6zUtpOmWJA52cVJW6zwxCxE28 / 592IARxlJcq14tjwYwIDAQAB
申请链接:
消费者密钥:硬编码消费者
消费者名称:硬编码消费者
公钥: 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)
有人可以解释一下应该怎么做吗?我在这里错过了什么吗? 还有共享密钥,消费者密钥和公钥之间的区别是什么?
提前致谢
答案 0 :(得分:0)
我通过使用documentation中提供的公开以及example
中给出的私钥以某种方式修复了此问题但是,我仍然无法使用我生成的私钥和公钥创建应用程序链接。
答案 1 :(得分:0)
由于在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