2016-02-01 16 views
6

Tôi đang cố gắng tạo một ứng dụng sử dụng jira để xác thực. Tôi đang sử dụng Jira Rest api cho tương tự. Trong tài liệu hướng dẫn, nó nói để sử dụng cùng khóa công khai và khóa người tiêu dùng để tạo liên kết ứng dụng như được đưa ra trong tài liệu. Điều này hoạt động tốt, và tôi có thể tạo access-token. Nhưng trong mã java như đã đề cập trong this, tôi không chắc chắn nên cung cấp những gì cho private_key. Tôi đã thử hai phương thức-Jira OAuth - Không thể tạo liên kết ứng dụng

  1. Tạo khóa riêng tư ngẫu nhiên bằng cách sử dụng rsa và cung cấp nó thay cho private_key không hoạt động. Nó đã cho ngoại lệ nói length too long. Tôi đã thử 2048, 1024, 512, 256 và 128 bit. Mọi thứ đều có cùng lỗi.

ứng dụng liên kết:

Consumer-key: hardcoded người tiêu dùng

Tên người tiêu dùng: hardcoded người tiêu dùng

Public Key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxZDzGUGk6rElyPm0iOua0lWg84nOlhQN1gmTFTIu5WFyQFHZF6OA4HX7xATttQZ6N21yKMakuNdRvEudyN/coUqe89r3Ae + rkEIn4tCxGpJWX205xVF3Cgsn8ICj6dLUFQPiWXouoZ7HG0sPKhCLXXOvUXmekivtyx4bxVFD9Zy4SQ7IHTx0V0pZYGc6r1gF0LqRmGVQDaQSbivigH4mlVwoAO9Tfccf + V00hYuSvntU + B1ZygMw2rAFLezJmnftTxPuehqWu9xS5NVsPsWgBL7LOi3oY8 lhzOYjbMKDWM6zUtpOmWJA52cVJW6zwxCxE28/592IARxlJcq14tjwYwIDAQAB

  1. tạo tư nhân và công cộng cặp khóa và cung cấp cùng trong liên kết ứng dụng và trong mã tương ứng. Nhưng trong trường hợp này, tôi không thể tạo mã thông báo truy cập. Nó được đưa ra - Liên kết

Ứng dụng:

Consumer-key: hardcoded người tiêu dùng

Tên người tiêu dùng: hardcoded người tiêu dùng

Public 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)

Ai đó có thể giải thích cho tôi nên làm gì? Am i thiếu cái gì ở đây? Và sự khác biệt giữa khóa chia sẻ, khóa người dùng và khóa công khai là gì?

Cảm ơn trước

+1

Nếu tôi nhớ chính xác bạn nên sử dụng khóa bí mật trong ứng dụng của khách hàng của bạn để đăng yêu cầu. Tất nhiên bạn cần một cặp khóa riêng và khóa công khai phù hợp. Rất tiếc, tôi không biết Java api vì tôi đã sử dụng .NET – Robert

+0

Tnx cho trả lời @Robert. Tôi đã khắc phục sự cố bằng cách nào đó và đã đăng câu trả lời – DivyaMenon

Trả lời

0

tôi bằng cách nào đó cố định vấn đề bằng cách sử dụng công cộng mà được cung cấp trong documentation và khóa riêng như được đưa ra trong example

Nhưng vẫn còn, tôi đã không thể tạo ra một liên kết ứng dụng với khóa riêng và khóa công khai do tôi tạo.

0

Trường hợp ngoại lệ xảy ra do kết thúc bằng "/" trong URL cơ sở JIRA (do net.oauth.OAuthProblemException: signature_invalid) gây ra.

Yêu cầu chính xác là:

java -jar rest-oauth-client-1.0.one-jar.jar requestToken https://jira_base_server_url http://your_redirctedUrl 
Các vấn đề liên quan