@@ -66,24 +66,25 @@ public OAuthSignatureCalculatorInstance() throws NoSuchAlgorithmException {
6666 }
6767
6868public void sign (ConsumerKey consumerAuth ,RequestToken userAuth ,Request request ,RequestBuilderBase <?>requestBuilder )throws InvalidKeyException {
69- String percentEncodedNonce =generatePercentEncodedNonce ();
69+ String nonce =generateNonce ();
7070long timestamp =generateTimestamp ();
71- sign (consumerAuth ,userAuth ,request ,requestBuilder ,percentEncodedNonce , timestamp );
71+ sign (consumerAuth ,userAuth ,request ,requestBuilder ,timestamp , nonce );
7272 }
7373
74- private String generatePercentEncodedNonce () {
74+ private String generateNonce () {
7575ThreadLocalRandom .current ().nextBytes (nonceBuffer );
7676// let's use base64 encoding over hex, slightly more compact than hex or decimals
77- return Utf8UrlEncoder . percentEncodeQueryElement ( Base64 .encode (nonceBuffer ) );
77+ return Base64 .encode (nonceBuffer );
7878 }
7979
8080private static long generateTimestamp () {
8181return System .currentTimeMillis () /1000L ;
8282 }
8383
84- void sign (ConsumerKey consumerAuth ,RequestToken userAuth ,Request request ,RequestBuilderBase <?>requestBuilder ,String percentEncodedNonce ,long timestamp )throws InvalidKeyException {
84+ void sign (ConsumerKey consumerAuth ,RequestToken userAuth ,Request request ,RequestBuilderBase <?>requestBuilder ,long timestamp ,String nonce )throws InvalidKeyException {
85+ String percentEncodedNonce =Utf8UrlEncoder .percentEncodeQueryElement (nonce );
8586String signature =calculateSignature (consumerAuth ,userAuth ,request ,timestamp ,percentEncodedNonce );
86- String headerValue =constructAuthHeader (consumerAuth ,userAuth ,signature ,percentEncodedNonce , timestamp );
87+ String headerValue =constructAuthHeader (consumerAuth ,userAuth ,signature ,timestamp , percentEncodedNonce );
8788requestBuilder .setHeader (HttpHeaderNames .AUTHORIZATION ,headerValue );
8889 }
8990
@@ -170,7 +171,7 @@ private byte[] digest(ConsumerKey consumerAuth, RequestToken userAuth, ByteBuffe
170171return mac .doFinal ();
171172 }
172173
173- String constructAuthHeader (ConsumerKey consumerAuth ,RequestToken userAuth ,String signature ,String percentEncodedNonce , long oauthTimestamp ) {
174+ String constructAuthHeader (ConsumerKey consumerAuth ,RequestToken userAuth ,String signature ,long oauthTimestamp , String percentEncodedNonce ) {
174175StringBuilder sb =StringBuilderPool .DEFAULT .stringBuilder ();
175176sb .append ("OAuth " );
176177sb .append (KEY_OAUTH_CONSUMER_KEY ).append ("=\" " ).append (consumerAuth .getPercentEncodedKey ()).append ("\" , " );