Skip to content

Commit 53805cb

Browse files
committed
Imgur API PR fixes
1 parent 7e89066 commit 53805cb

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

changelog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[SNAPSHOT]
22
* Let GoogleApi20 supports OOB
3+
* Updated Imgur API to OAuth2
34

45
[2.1.0]
56
* add Pinterest API

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public OAuthService createService(final OAuthConfig config) {
3838
return new ImgurOAuthServiceImpl(this, config);
3939
}
4040

41-
public boolean isOob(final OAuthConfig config) {
41+
public static boolean isOob(final OAuthConfig config) {
4242
return "oob".equals(config.getCallback());
4343
}
44-
}
44+
}

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22

33
import com.github.scribejava.apis.ImgurApi;
44
import com.github.scribejava.core.builder.api.DefaultApi20;
5-
import com.github.scribejava.core.model.*;
5+
import com.github.scribejava.core.model.AbstractRequest;
6+
import com.github.scribejava.core.model.OAuthConfig;
7+
import com.github.scribejava.core.model.OAuthConstants;
8+
import com.github.scribejava.core.model.OAuthRequest;
9+
import com.github.scribejava.core.model.Token;
10+
import com.github.scribejava.core.model.Verifier;
611
import com.github.scribejava.core.oauth.OAuth20ServiceImpl;
712

813
public final class ImgurOAuthServiceImpl extends OAuth20ServiceImpl {
@@ -13,14 +18,18 @@ public ImgurOAuthServiceImpl(final DefaultApi20 api, final OAuthConfig config) {
1318

1419
@Override
1520
public Token getAccessToken(final Token requestToken, final Verifier verifier) {
16-
final boolean oob = ((ImgurApi) getApi()).isOob(getConfig());
17-
1821
final OAuthRequest request = new OAuthRequest(getApi().getAccessTokenVerb(),
1922
getApi().getAccessTokenEndpoint(), this);
2023
request.addBodyParameter(OAuthConstants.CLIENT_ID, getConfig().getApiKey());
2124
request.addBodyParameter(OAuthConstants.CLIENT_SECRET, getConfig().getApiSecret());
22-
request.addBodyParameter(OAuthConstants.GRANT_TYPE, oob ? "pin" : OAuthConstants.AUTHORIZATION_CODE);
23-
request.addBodyParameter(oob ? "pin" : OAuthConstants.CODE, verifier.getValue());
25+
26+
if(ImgurApi.isOob(getConfig())) {
27+
request.addBodyParameter(OAuthConstants.GRANT_TYPE, "pin");
28+
request.addBodyParameter("pin", verifier.getValue());
29+
} else {
30+
request.addBodyParameter(OAuthConstants.GRANT_TYPE, OAuthConstants.AUTHORIZATION_CODE);
31+
request.addBodyParameter(OAuthConstants.CODE, verifier.getValue());
32+
}
2433

2534
return getApi().getAccessTokenExtractor().extract(request.send().getBody());
2635
}

0 commit comments

Comments
 (0)