} else {
String verifier = request.getParameter(OAuthConstants.OAUTH_VERIFIER);
// User denied scope
if (request.getParameter(OAuthConstants.OAUTH_DENIED) != null) {
throw new OAuthException(OAuthExceptionCode.USER_DENIED_SCOPE, "User denied scope on Twitter authorization page");
}
// Obtain accessToken from twitter
AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier);
if (log.isTraceEnabled()) {
log.trace("Twitter accessToken: " + accessToken);
}
// Remove requestToken from session. We don't need it anymore
session.removeAttribute(OAuthConstants.ATTRIBUTE_TWITTER_REQUEST_TOKEN);
TwitterAccessTokenContext accessTokenContext = new TwitterAccessTokenContext(accessToken.getToken(), accessToken.getTokenSecret());
return new InteractionState<TwitterAccessTokenContext>(InteractionState.State.FINISH, accessTokenContext);
}
} catch (TwitterException twitterException) {
throw new OAuthException(OAuthExceptionCode.TWITTER_ERROR, twitterException);
}
}