Changed the getAccessToken() method implementation to conform to the OAuth 2.0 server-side flow

This commit is contained in:
diegossilveira committed 2011-02-10 17:03:28 -02:00
1 parent 08aebb5fb1
commit 581e2b6d84
1 file changed
+14 -3
@@ -1,7 +1,12 @@
package org.scribe.oauth;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.builder.api.DefaultApi20;
import org.scribe.model.OAuthConfig;
import org.scribe.model.OAuthConstants;
import org.scribe.model.OAuthRequest;
import org.scribe.model.Response;
import org.scribe.model.Token;
import org.scribe.model.Verifier;
public class OAuth20ServiceImpl implements OAuthService
{
@@ -35,7 +40,13 @@ public class OAuth20ServiceImpl implements OAuthService
*/
public Token getAccessToken(Token requestToken, Verifier verifier)
{
throw new UnsupportedOperationException("Unsupported operation, please use 'getAuthorizationUrl' and redirect your users there");
OAuthRequest request = new OAuthRequest(api.getAccessTokenVerb(), api.getAccessTokenEndpoint());
request.addQuerystringParameter(OAuthConstants.CLIENT_ID, config.getApiKey());
request.addQuerystringParameter(OAuthConstants.CLIENT_SECRET, config.getApiSecret());
request.addQuerystringParameter(OAuthConstants.CODE, verifier.getValue());
request.addQuerystringParameter(OAuthConstants.REDIRECT_URI, config.getCallback());
Response response = request.send();
return api.getAccessTokenExtractor().extract(response.getBody());
}
/**