Skip to content

Commit bf221ea

Browse files
committed
debugging..
1 parent c21c67a commit bf221ea

5 files changed

Lines changed: 21 additions & 22 deletions

File tree

src/main/java/org/scribe/builder/api/Google2Api.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.scribe.extractors.AccessTokenExtractor;
55
import org.scribe.extractors.JsonTokenExtractor;
66
import org.scribe.model.OAuthConfig;
7+
import org.scribe.model.OAuthConstants;
78
import org.scribe.model.Verb;
89
import org.scribe.oauth.OAuth20ServiceImpl;
910
import org.scribe.oauth.OAuthService;
@@ -32,25 +33,25 @@ public String getAccessTokenEndpoint()
3233

3334
private static final String AUTHORIZE_URL = "https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=%s&redirect_uri=%s";
3435
private static final String SCOPED_AUTHORIZE_URL = AUTHORIZE_URL + "&scope=%s";
36+
private static final String PARAM_FORMAT = "&%s=%s";
3537

3638
@Override
3739
public String getAuthorizationUrl(OAuthConfig config)
3840
{
39-
// Preconditions.checkValidUrl(config.getCallback(),
40-
// "Must provide a valid url as callback. Facebook does not support OOB");
41-
4241
// Append scope if present
42+
StringBuilder sb = new StringBuilder();
43+
sb.append(String.format(AUTHORIZE_URL, config.getApiKey(), OAuthEncoder.encode(config.getCallback())));
44+
4345
if (config.hasScope())
44-
{
45-
return String.format(SCOPED_AUTHORIZE_URL, config.getApiKey(),
46-
OAuthEncoder.encode(config.getCallback()),
47-
OAuthEncoder.encode(config.getScope()));
48-
}
49-
else
50-
{
51-
return String.format(AUTHORIZE_URL, config.getApiKey(),
52-
OAuthEncoder.encode(config.getCallback()));
53-
}
46+
sb.append(String.format(PARAM_FORMAT, OAuthConstants.SCOPE, config.getScope()));
47+
if (config.hasState())
48+
sb.append(String.format(PARAM_FORMAT, OAuthConstants.STATE, config.getState()));
49+
if (config.hasAccessType())
50+
sb.append(String.format(PARAM_FORMAT, OAuthConstants.ACCESS_TYPE, config.getAccessType()));
51+
if (config.hasApprovalPrompt())
52+
sb.append(String.format(PARAM_FORMAT, OAuthConstants.APPROVAL_PROMPT, config.getApprovalPrompt()));
53+
54+
return sb.toString();
5455
}
5556

5657
}

src/main/java/org/scribe/extractors/JsonTokenExtractor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
public class JsonTokenExtractor implements AccessTokenExtractor
1010
{
11-
private Pattern accessTokenPattern = Pattern.compile("\"access_token\":\\s*\"(\\S*?)\"");
11+
private Pattern accessTokenPattern = Pattern.compile("\"access_token\"\\s*:\\s*\"(\\S*?)\"");
1212

13-
private Pattern refreshTokenPattern = Pattern.compile("\"refresh_token\":\\s*\"(\\S*?)\"");
13+
private Pattern refreshTokenPattern = Pattern.compile("\"refresh_token\"\\s*:\\s*\"(\\S*?)\"");
1414

1515
public Token extract(String response)
1616
{

src/main/java/org/scribe/model/OAuthConstants.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,8 @@ public class OAuthConstants
4747
public static final String CLIENT_SECRET = "client_secret";
4848
public static final String REDIRECT_URI = "redirect_uri";
4949
public static final String CODE = "code";
50+
public static final String STATE = "state";
51+
public static final String ACCESS_TYPE = "access_type";
52+
public static final String APPROVAL_PROMPT = "approval_prompt";
5053

5154
}

src/main/java/org/scribe/oauth/OAuth20ServiceImpl.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,13 @@ public Token getAccessToken(Token requestToken, Verifier verifier)
4646
request.addParameter(verb, OAuthConstants.REDIRECT_URI, config.getCallback());
4747
if (config.hasScope())
4848
request.addParameter(verb, OAuthConstants.SCOPE, config.getScope());
49-
if (config.hasState())
50-
request.addParameter(verb, OAuthConstants.SCOPE, config.getState());
51-
if (config.hasAccessType())
52-
request.addParameter(verb, OAuthConstants.SCOPE, config.getAccessType());
53-
if (config.hasApprovalPrompt())
54-
request.addParameter(verb, OAuthConstants.SCOPE, config.getApprovalPrompt());
5549
}
5650

5751
Response response = request.send();
5852
Token token = api.getAccessTokenExtractor().extract(response.getBody());
5953
if (requestToken != null && requestToken.getRefreshToken() != null)
6054
{
61-
return new Token(token.getToken(), token.getSecret(), token.getRefreshToken(), token.getRawResponse());
55+
return new Token(token.getToken(), token.getSecret(), requestToken.getRefreshToken(), token.getRawResponse());
6256
}
6357
return token;
6458
}

src/test/java/org/scribe/examples/Google2Example.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public static void main(String[] args)
2525
.apiKey(apiKey)
2626
.apiSecret(apiSecret)
2727
.scope(SCOPE)
28+
.accessType("offline")
2829
.callback("oob")
2930
.build();
3031
Scanner in = new Scanner(System.in);

0 commit comments

Comments
 (0)