for (Map.Entry<String, String[]> entry : requestParams.entrySet()) {
for (String value : entry.getValue()) {
params.add(new OAuth.Parameter(entry.getKey(), value));
}
}
OAuthMessage message = new OAuthMessage(POST, requestUrl, params);
// Compute and check the hash of the body.
try {
MessageDigest md = MessageDigest.getInstance(SHA_1);
byte[] hash = md.digest(jsonBody.getBytes(UTF_8));
String encodedHash = new String(Base64.encodeBase64(hash, false), UTF_8);
if (!encodedHash.equals(message.getParameter(OAUTH_BODY_HASH))) {
throw new IllegalArgumentException(
"Body hash does not match. Expected: " + encodedHash + ", provided: "
+ message.getParameter(OAUTH_BODY_HASH));
}
OAuthAccessor accessor = consumerData.getAccessor();
LOG.info("Signature base string: " + OAuthSignatureMethod.getBaseString(message));
message.validateMessage(accessor, new SimpleOAuthValidator());
} catch (NoSuchAlgorithmException e) {
throw new OAuthException("Error validating OAuth request", e);
} catch (URISyntaxException e) {
throw new OAuthException("Error validating OAuth request", e);
} catch (OAuthException e) {