[英]2-legged Oauth client not working with Scribe
我正在尝试对据说接受2腿和3腿身份验证的自定义服务器(不是我的服务器)进行身份验证。 由于我正在针对该服务器验证我的服务器应用程序,因此我认为2足式服务器最适合这里。 我只需要存储auth令牌以用于将来的调用,并且当它过期时,显然可以重复该过程。
因此,按照本教程和其他教程 ,我创建了Scribe uber简单客户端:
OAuthService service = new ServiceBuilder()
.provider(DummyAPIProvider.class)
.apiKey("mykey")
.apiSecret("mysecret")
.build();
OAuthRequest request = new OAuthRequest(Verb.GET, "http://orion.lab.fi-ware.eu:1026/version");
Token accessToken = new Token("", "");
String pepe = accessToken.toString();
service.signRequest(accessToken, request);
System.out.println(pepe);
Response response = request.send();
System.out.println(response.getBody());
ret = response.getBody();
服务器的响应始终是:
Auth-token not found in request header
鉴于该消息,我不确定是否必须在请求中包括auth-token ...如果是的话...任何想法如何?
另一方面,我有一个能够执行此身份验证的Javacript客户端,该客户端主要由三个文件组成:config.js,oauth.js和server.js(它使用Node和express)。 在这里检查。 但是,此客户端似乎正在执行三足式身份验证。
有任何想法吗? 有什么想法吗?
我在服务上设置了signatureType(SignatureType.Header),并使用了2条腿的提供程序示例类SimpleGeoApi; 它为我工作!
final OAuthService service = new ServiceBuilder()
.provider(SimpleGeoApi.class)
.apiKey("mykey")
.apiSecret("mysecret")
.signatureType(SignatureType.Header)
.build();
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
OAuthRequest request = new OAuthRequest(Verb.GET, "http://myweb.com/chapters.json");
service.signRequest(OAuthConstants.EMPTY_TOKEN, request);
Response response = request.send();
Log.w("TEST", response.getCode() + " ");
Log.w("TEST: ", response.getBody());
return null;
}
}.execute();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.