public void validateRequiredParameters(OAuthClientResponse response) throws OAuthProblemException { Set<String> missingParameters = new HashSet<String>(); for (Map.Entry<String, String[]> requiredParam : requiredParams.entrySet()) { String paramName = requiredParam.getKey(); String val = response.getParam(paramName); if (OAuthUtils.isEmpty(val)) { missingParameters.add(paramName); } else { String[] dependentParams = requiredParam.getValue(); if (!OAuthUtils.hasEmptyValues(dependentParams)) { for (String dependentParam : dependentParams) { val = response.getParam(dependentParam); if (OAuthUtils.isEmpty(val)) { missingParameters.add(dependentParam); } } } } } if (!missingParameters.isEmpty()) { throw OAuthUtils.handleMissingParameters(missingParameters); } }
@Override public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException { String[] tokens = getQueryParameterValues(request, OAuth.OAUTH_BEARER_TOKEN); if (OAuthUtils.hasEmptyValues(tokens)) { tokens = getQueryParameterValues(request, OAuth.OAUTH_TOKEN); if (OAuthUtils.hasEmptyValues(tokens)) { throw OAuthProblemException.error(null, "Missing OAuth token."); } } if (tokens != null && tokens.length > 1) { throw OAuthProblemException.error( OAuthError.TokenResponse.INVALID_REQUEST, "Multiple tokens attached."); } String oauthVersionDiff = ResourceServer.getQueryParameterValue(request, OAuth.OAUTH_VERSION_DIFFER); if (!OAuthUtils.isEmpty(oauthVersionDiff)) { throw OAuthProblemException.error( OAuthError.TokenResponse.INVALID_REQUEST, "Incorrect OAuth version. Found OAuth V1.0."); } }