Skip to content

Commit 85e8e62

Browse files
committed
OdnoklassnikiService should consider params in a body while signing the request (thanks to https://github.com/MrNeuronix)
1 parent 12fea9e commit 85e8e62

File tree

3 files changed

+8
-12
lines changed

3 files changed

+8
-12
lines changed

changelog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[SNAPSHOT]
22
* omit the client_secret parameter if it is an empty string while refreshing token (thanks to https://github.com/KungfuPancake)
33
* allow perms to be specified in Flickr Api (read, write, or delete) (thanks to https://github.com/rogerhu)
4+
* OdnoklassnikiService should consider params in a body while signing the request (thanks to https://github.com/MrNeuronix)
45

56
[4.1.0]
67
* make client_secret optional in OAuth2 while requesting AccessToken (if set to null, it's not required by OAuth2 specs)

scribejava-apis/src/main/java/com/github/scribejava/apis/LinkedInApi.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public LinkedInApi() {
2020
}
2121

2222
/**
23+
* @param scopes scopes
2324
* @deprecated use {@link #instance(java.lang.String...) }
2425
*/
2526
@Deprecated

scribejava-apis/src/main/java/com/github/scribejava/apis/service/OdnoklassnikiServiceImpl.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import java.io.UnsupportedEncodingException;
1414
import java.net.URLDecoder;
15-
import java.util.ArrayList;
1615
import java.util.Collections;
1716
import java.util.List;
1817

@@ -30,19 +29,14 @@ public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
3029
try {
3130
final String tokenDigest = md5Hex(accessToken.getAccessToken() + getConfig().getApiSecret());
3231

33-
ParameterList queryParams = request.getQueryStringParams();
34-
ParameterList bodyParams = request.getBodyParams();
35-
queryParams.addAll(bodyParams);
36-
Collections.sort(queryParams.getParams());
37-
38-
List<String> params = new ArrayList<>();
39-
for(Parameter param : queryParams.getParams()) {
40-
params.add(param.getKey().concat("=").concat(param.getValue()));
41-
}
32+
final ParameterList queryParams = request.getQueryStringParams();
33+
queryParams.addAll(request.getBodyParams());
34+
final List<Parameter> allParams = queryParams.getParams();
4235

36+
Collections.sort(allParams);
4337
final StringBuilder builder = new StringBuilder();
44-
for (String param : params) {
45-
builder.append(param);
38+
for (Parameter param : allParams) {
39+
builder.append(param.getKey()).append('=').append(param.getValue());
4640
}
4741

4842
final String sigSource = URLDecoder.decode(builder.toString(), CharEncoding.UTF_8) + tokenDigest;

0 commit comments

Comments
 (0)