Ignore:
Timestamp:
2014-02-13T21:10:18+01:00 (8 years ago)
Author:
stoecker
Message:

see #9710 - update oauth library code

Location:
trunk/src/oauth/signpost/signature
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/oauth/signpost/signature/AuthorizationHeaderSigningStrategy.java

    r4231 r6849  
    11package oauth.signpost.signature;
     2
     3import java.util.Iterator;
    24
    35import oauth.signpost.OAuth;
     
    1921
    2022        sb.append("OAuth ");
     23
     24        // add the realm parameter, if any
    2125        if (requestParameters.containsKey("realm")) {
    2226            sb.append(requestParameters.getAsHeaderElement("realm"));
    2327            sb.append(", ");
    2428        }
    25         if (requestParameters.containsKey(OAuth.OAUTH_TOKEN)) {
    26             sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_TOKEN));
    27             sb.append(", ");
     29
     30        // add all (x_)oauth parameters
     31        HttpParameters oauthParams = requestParameters.getOAuthParameters();
     32        oauthParams.put(OAuth.OAUTH_SIGNATURE, signature, true);
     33
     34        Iterator<String> iter = oauthParams.keySet().iterator();
     35        while (iter.hasNext()) {
     36            String key = iter.next();
     37            sb.append(oauthParams.getAsHeaderElement(key));
     38            if (iter.hasNext()) {
     39                sb.append(", ");
     40            }
    2841        }
    29         if (requestParameters.containsKey(OAuth.OAUTH_CALLBACK)) {
    30             sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_CALLBACK));
    31             sb.append(", ");
    32         }
    33         if (requestParameters.containsKey(OAuth.OAUTH_VERIFIER)) {
    34             sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_VERIFIER));
    35             sb.append(", ");
    36         }
    37         sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_CONSUMER_KEY));
    38         sb.append(", ");
    39         sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_VERSION));
    40         sb.append(", ");
    41         sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_SIGNATURE_METHOD));
    42         sb.append(", ");
    43         sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_TIMESTAMP));
    44         sb.append(", ");
    45         sb.append(requestParameters.getAsHeaderElement(OAuth.OAUTH_NONCE));
    46         sb.append(", ");
    47         sb.append(OAuth.toHeaderElement(OAuth.OAUTH_SIGNATURE, signature));
    4842
    4943        String header = sb.toString();
     44        OAuth.debugOut("Auth Header", header);
    5045        request.setHeader(OAuth.HTTP_AUTHORIZATION_HEADER, header);
    5146
  • trunk/src/oauth/signpost/signature/QueryStringSigningStrategy.java

    r4231 r6849  
    11package oauth.signpost.signature;
     2
     3import java.util.Iterator;
    24
    35import oauth.signpost.OAuth;
     
    2123            HttpParameters requestParameters) {
    2224
    23         // add the signature
    24         StringBuilder sb = new StringBuilder(OAuth.addQueryParameters(request.getRequestUrl(),
    25             OAuth.OAUTH_SIGNATURE, signature));
     25        // add all (x_)oauth parameters
     26        HttpParameters oauthParams = requestParameters.getOAuthParameters();
     27        oauthParams.put(OAuth.OAUTH_SIGNATURE, signature, true);
    2628
    27         // add the optional OAuth parameters
    28         if (requestParameters.containsKey(OAuth.OAUTH_TOKEN)) {
     29        Iterator<String> iter = oauthParams.keySet().iterator();
     30
     31        // add the first query parameter (we always have at least the signature)
     32        String firstKey = iter.next();
     33        StringBuilder sb = new StringBuilder(OAuth.addQueryString(request.getRequestUrl(),
     34            oauthParams.getAsQueryString(firstKey)));
     35
     36        while (iter.hasNext()) {
    2937            sb.append("&");
    30             sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_TOKEN));
     38            String key = iter.next();
     39            sb.append(oauthParams.getAsQueryString(key));
    3140        }
    32         if (requestParameters.containsKey(OAuth.OAUTH_CALLBACK)) {
    33             sb.append("&");
    34             sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_CALLBACK));
    35         }
    36         if (requestParameters.containsKey(OAuth.OAUTH_VERIFIER)) {
    37             sb.append("&");
    38             sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_VERIFIER));
    39         }
    40 
    41         // add the remaining OAuth params
    42         sb.append("&");
    43         sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_CONSUMER_KEY));
    44         sb.append("&");
    45         sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_VERSION));
    46         sb.append("&");
    47         sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_SIGNATURE_METHOD));
    48         sb.append("&");
    49         sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_TIMESTAMP));
    50         sb.append("&");
    51         sb.append(requestParameters.getAsQueryString(OAuth.OAUTH_NONCE));
    5241
    5342        String signedUrl = sb.toString();
  • trunk/src/oauth/signpost/signature/SignatureBaseString.java

    r4231 r6849  
    111111            }
    112112
    113             sb.append(requestParameters.getAsQueryString(param));
     113            // fix contributed by Stjepan Rajko
     114            // since param should already be encoded, we supply false for percentEncode
     115            sb.append(requestParameters.getAsQueryString(param, false)); 
    114116        }
    115117        return sb.toString();
Note: See TracChangeset for help on using the changeset viewer.