@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { try { String authorization = INSTANCES.get().computeAuthorizationHeader( consumerAuth, userAuth, request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams()); requestBuilder.setHeader(HttpHeaderNames.AUTHORIZATION, authorization); } catch (InvalidKeyException e) { throw new IllegalArgumentException("Failed to compute a valid key from consumer and user secrets", e); } } }
@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { try { String authorization = new OAuthSignatureCalculatorInstance().computeAuthorizationHeader( consumerKey, requestToken, request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), timestamp, nonce); requestBuilder.setHeader(HttpHeaderNames.AUTHORIZATION, authorization); } catch (InvalidKeyException | NoSuchAlgorithmException e) { throw new IllegalArgumentException(e); } } }
@Test public void testWithStarQueryParameterValue() throws NoSuchAlgorithmException { final Request request = get("http://term.ie/oauth/example/request_token.php?testvalue=*").build(); String signatureBaseString = new OAuthSignatureCalculatorInstance() .signatureBaseString( new ConsumerKey("key", "secret"), new RequestToken(null, null), request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), 1469019732, "6ad17f97334700f3ec2df0631d5b7511").toString(); assertEquals(signatureBaseString, "GET&" + "http%3A%2F%2Fterm.ie%2Foauth%2Fexample%2Frequest_token.php&" + "oauth_consumer_key%3Dkey%26" + "oauth_nonce%3D6ad17f97334700f3ec2df0631d5b7511%26" + "oauth_signature_method%3DHMAC-SHA1%26" + "oauth_timestamp%3D1469019732%26" + "oauth_version%3D1.0%26" + "testvalue%3D%252A"); }
private void testSignatureBaseString(Request request) throws NoSuchAlgorithmException { String signatureBaseString = new OAuthSignatureCalculatorInstance() .signatureBaseString(// new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET), new RequestToken("kkk9d7dh3k39sjv7", TOKEN_SECRET), request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), 137131201, "7d8f3e4a").toString(); assertEquals(signatureBaseString, "POST&" + "http%3A%2F%2Fexample.com%2Frequest" + "&a2%3Dr%2520b%26" + "a3%3D2%2520q%26" + "a3%3Da%26" + "b5%3D%253D%25253D%26" + "c%2540%3D%26" + "c2%3D%26" + "oauth_consumer_key%3D9djdj82h48djs9d2%26" + "oauth_nonce%3D7d8f3e4a%26" + "oauth_signature_method%3DHMAC-SHA1%26" + "oauth_timestamp%3D137131201%26" + "oauth_token%3Dkkk9d7dh3k39sjv7%26" + "oauth_version%3D1.0"); }
@Test public void testSignatureGenerationWithAsteriskInPath() throws InvalidKeyException, NoSuchAlgorithmException { ConsumerKey consumerKey = new ConsumerKey("key", "secret"); RequestToken requestToken = new RequestToken(null, null); String nonce = "6ad17f97334700f3ec2df0631d5b7511"; long timestamp = 1469019732; final Request request = get("http://example.com/oauth/example/*path/wi*th/asterisks*").build(); String expectedSignature = "cswi/v3ZqhVkTyy5MGqW841BxDA="; String actualSignature = new OAuthSignatureCalculatorInstance().computeSignature( consumerKey, requestToken, request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), timestamp, nonce); assertEquals(actualSignature, expectedSignature); String generatedAuthHeader = new OAuthSignatureCalculatorInstance().computeAuthorizationHeader(consumerKey, requestToken, actualSignature, timestamp, nonce); assertTrue(generatedAuthHeader.contains("oauth_signature=\"cswi%2Fv3ZqhVkTyy5MGqW841BxDA%3D\"")); }
this.streamData = prototype.getStreamData(); this.bodyGenerator = prototype.getBodyGenerator(); if (isNonEmpty(prototype.getFormParams())) { this.formParams = new ArrayList<>(prototype.getFormParams());
@Test public void testWithNullRequestToken() throws NoSuchAlgorithmException { final Request request = get("http://photos.example.net/photos?file=vacation.jpg&size=original").build(); String signatureBaseString = new OAuthSignatureCalculatorInstance() .signatureBaseString(// new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET), new RequestToken(null, null), request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), 137131201, Utf8UrlEncoder.percentEncodeQueryElement("ZLc92RAkooZcIO/0cctl0Q==")).toString(); assertEquals(signatureBaseString, "GET&" + "http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26" + "oauth_consumer_key%3D9djdj82h48djs9d2%26" + "oauth_nonce%3DZLc92RAkooZcIO%252F0cctl0Q%253D%253D%26" + "oauth_signature_method%3DHMAC-SHA1%26" + "oauth_timestamp%3D137131201%26" + "oauth_version%3D1.0%26size%3Doriginal"); }
private void testSignatureBaseStringWithEncodableOAuthToken(Request request) throws NoSuchAlgorithmException { String signatureBaseString = new OAuthSignatureCalculatorInstance() .signatureBaseString(// new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET), new RequestToken("kkk9d7dh3k39sjv7", TOKEN_SECRET), request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), 137131201, Utf8UrlEncoder.percentEncodeQueryElement("ZLc92RAkooZcIO/0cctl0Q==")).toString(); assertEquals(signatureBaseString, "POST&" + "http%3A%2F%2Fexample.com%2Frequest" + "&a2%3Dr%2520b%26" + "a3%3D2%2520q%26" + "a3%3Da%26" + "b5%3D%253D%25253D%26" + "c%2540%3D%26" + "c2%3D%26" + "oauth_consumer_key%3D9djdj82h48djs9d2%26" + "oauth_nonce%3DZLc92RAkooZcIO%252F0cctl0Q%253D%253D%26" + "oauth_signature_method%3DHMAC-SHA1%26" + "oauth_timestamp%3D137131201%26" + "oauth_token%3Dkkk9d7dh3k39sjv7%26" + "oauth_version%3D1.0"); }
@Test public void testGetCalculateSignature() throws NoSuchAlgorithmException, InvalidKeyException { Request request = get("http://photos.example.net/photos") .addQueryParam("file", "vacation.jpg") .addQueryParam("size", "original") .build(); String signature = new OAuthSignatureCalculatorInstance() .computeSignature(new ConsumerKey(CONSUMER_KEY, CONSUMER_SECRET), new RequestToken(TOKEN_KEY, TOKEN_SECRET), request.getUri(), request.getMethod(), request.getFormParams(), request.getQueryParams(), TIMESTAMP, NONCE); assertEquals(signature, "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); }
if (isNonEmpty(request.getFormParams())) requestBuilder.setFormParams(request.getFormParams()); else if (request.getStringData() != null) requestBuilder.setBody(request.getStringData());
nettyBody = new NettyInputStreamBody(request.getStreamData()); } else if (isNonEmpty(request.getFormParams())) { CharSequence contentTypeOverride = request.getHeaders().contains(CONTENT_TYPE) ? null : HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentTypeOverride);
@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { String nonce = generateNonce(); long timestamp = generateTimestamp(); String signature = calculateSignature(request.getMethod(), request.getUri(), timestamp, nonce, request.getFormParams(), request.getQueryParams()); String headerValue = constructAuthHeader(signature, nonce, timestamp); requestBuilder.setHeader(HEADER_AUTHORIZATION, headerValue); }
public RequestImpl(Request prototype) { if (prototype != null) { this.method = prototype.getMethod(); this.uri = prototype.getUri(); this.address = prototype.getInetAddress(); this.localAddress = prototype.getLocalAddress(); this.headers = new FluentCaseInsensitiveStringsMap(prototype.getHeaders()); this.cookies = new ArrayList<>(prototype.getCookies()); this.byteData = prototype.getByteData(); this.compositeByteData = prototype.getCompositeByteData(); this.stringData = prototype.getStringData(); this.byteBufferData = prototype.getByteBufferData(); this.streamData = prototype.getStreamData(); this.bodyGenerator = prototype.getBodyGenerator(); this.formParams = prototype.getFormParams() == null ? null : new ArrayList<>(prototype.getFormParams()); this.parts = prototype.getParts() == null ? null : new ArrayList<>(prototype.getParts()); this.virtualHost = prototype.getVirtualHost(); this.length = prototype.getContentLength(); this.proxyServer = prototype.getProxyServer(); this.realm = prototype.getRealm(); this.file = prototype.getFile(); this.followRedirect = prototype.getFollowRedirect(); this.requestTimeout = prototype.getRequestTimeout(); this.rangeOffset = prototype.getRangeOffset(); this.charset = prototype.getBodyCharset(); this.connectionPoolPartitioning = prototype.getConnectionPoolPartitioning(); this.nameResolver = prototype.getNameResolver(); } }
nettyBody = new NettyInputStreamBody(request.getStreamData(), config); else if (isNonEmpty(request.getFormParams())) { contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType);
nettyBody = new NettyInputStreamBody(request.getStreamData(), config); else if (isNonEmpty(request.getFormParams())) { contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType);
nettyBody = new NettyInputStreamBody(request.getStreamData(), config); else if (isNonEmpty(request.getFormParams())) { contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType);
nettyBody = new NettyInputStreamBody(request.getStreamData(), config); else if (isNonEmpty(request.getFormParams())) { contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType);
if (MiscUtils.isNonEmpty(request.getFormParams())) requestBuilder.setFormParams(request.getFormParams()); else if (request.getStringData() != null) requestBuilder.setBody(request.getStringData());
if (MiscUtils.isNonEmpty(request.getFormParams())) requestBuilder.setFormParams(request.getFormParams()); else if (request.getStringData() != null) requestBuilder.setBody(request.getStringData());