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

see #9710 - update oauth library code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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();
Note: See TracChangeset for help on using the changeset viewer.