private String defaultScope;
private String defaultURI;
public Response handle(MessageContext mc, OAuthDataProvider dataProvider) {
try {
OAuthMessage oAuthMessage =
OAuthUtils.getOAuthMessage(mc, mc.getHttpServletRequest(), REQUIRED_PARAMETERS);
Client client = dataProvider
.getClient(oAuthMessage.getParameter(OAuth.OAUTH_CONSUMER_KEY));
//client credentials not found
if (client == null) {
OAuthProblemException problemEx = new OAuthProblemException(
OAuth.Problems.CONSUMER_KEY_UNKNOWN);
problemEx
.setParameter(OAuthProblemException.HTTP_STATUS_CODE,
HttpServletResponse.SC_UNAUTHORIZED);
throw problemEx;
}
OAuthUtils.validateMessage(oAuthMessage, client, null, dataProvider);
String callback = oAuthMessage.getParameter(OAuth.OAUTH_CALLBACK);
validateCallbackURL(client, callback);
List<String> scopes = OAuthUtils.parseParamValue(
oAuthMessage.getParameter(OAuthConstants.X_OAUTH_SCOPE), defaultScope);
List<String> uris = OAuthUtils.parseParamValue(
oAuthMessage.getParameter(OAuthConstants.X_OAUTH_URI), defaultURI);
RequestTokenRegistration reg = new RequestTokenRegistration();
reg.setClient(client);
reg.setCallback(callback);
reg.setState(oAuthMessage.getParameter("state"));
reg.setUris(uris);
reg.setScopes(scopes);
reg.setLifetime(tokenLifetime);
reg.setIssuedAt(System.currentTimeMillis() / 1000);