【发布时间】:2016-07-30 04:37:05
【问题描述】:
我对 Oauth 很陌生,但需要学习如何在 Java 中进行操作,以便我们可以对 REST 请求进行身份验证。这是我到目前为止所得到的。
经过一番阅读,我决定尝试ScribeJava。我制作了一个自定义 API,它实现了 DefaultApi10a 并指向我们的端点。我这样设置服务:
final OAuth10aService service = new ServiceBuilder()
.apiKey("key")
.apiSecret("secret")
.build(TestApi.instance());
这不起作用。在进行了一堆挖掘之后,似乎因为我们使用的是自签名证书,所以我无法访问远程主机。我收到一条错误消息,提示连接到远程服务时出现问题。 ScribeJava 似乎没有办法禁用使用自签名证书的验证。
既然我们希望能够使用请求上的授权标头进行身份验证,我将如何使用 Java 库仅生成标头部分?我环顾四周,找不到任何东西。
作为参考,我们使用 Python 成功地进行了良好的 Oauth REST 调用,如下所示:
headeroauth = OAuth1(Oauth1Key, Oauth1Secret,
signature_type='auth_header')
myResponse = requests.get("endpoint_here", auth=headeroauth, verify=False)
关于如何使用 Java 完成一些相同的事情的任何意见?
【问题讨论】:
标签: java oauth apache-httpclient-4.x scribe