/** * Converts the {@code Request} to an {@code OAuthMessage}. * * @param request {@code Request} to be converted to an {@code OAuthMessage} * @return {@code OAuthMessage} converted from the {@code Request} */ public static OAuthMessage asOAuthMessage(final com.atlassian.oauth.Request request) { checkNotNull(request, "request"); return new OAuthMessage( request.getMethod().name(), request.getUri().toString(), // We'd rather not do the copy, but since we need a Collection of these things we don't have much choice ImmutableList.copyOf(asOAuthParameters(request.getParameters())) ); }
/** * Converts the {@code Request} to an {@code OAuthMessage}. * * @param request {@code Request} to be converted to an {@code OAuthMessage} * @return {@code OAuthMessage} converted from the {@code Request} */ public static OAuthMessage asOAuthMessage(Request request) { checkNotNull(request, "request"); return new OAuthMessage( request.getMethod().name(), request.getUri().toString(), // We'd rather not do the copy, but since we need a Collection of these things we don't have much choice ImmutableList.copyOf(asOAuthParameters(request.getParameters())) ); }
private Request sign(Request request, OAuthAccessor accessor) { try { final URI requestUri = request.getUri(); Preconditions.checkArgument(requestUri.normalize().getPath().equals(requestUri.getPath()), "Refusing to sign non-normalized URL: " + requestUri); OAuthMessage oauthMessage = accessor.newRequestMessage( request.getMethod().name(), requestUri.toString(), asOAuthParameters(request.getParameters()) ); log.debug("Signed request {}", oauthMessage); return new Request(request.getMethod(), requestUri, fromOAuthParameters(oauthMessage.getParameters())); } catch (net.oauth.OAuthException e) { throw new OAuthSigningException("Failed to sign the request", e); } catch (IOException e) { // this shouldn't happen as the message is not being read from any IO streams, but the OAuth library throws // these around like they're candy, but far less sweet and tasty. throw new RuntimeException(e); } catch (URISyntaxException e) { // this shouldn't happen unless the caller somehow passed us an invalid URI object throw new RuntimeException(e); } }
public ConsumerToken getRequestToken(ServiceProvider serviceProvider, final String consumerKey, String callback) throws ResponseException { final Request oAuthRequest = new Request(Request.HttpMethod.POST, serviceProvider.getRequestTokenUri(), Collections.singleton(new Request.Parameter(OAuth.OAUTH_CALLBACK, callback))); final Request signedRequest = consumerService.sign(oAuthRequest, consumerKey, serviceProvider); final com.atlassian.sal.api.net.Request tokenRequest = requestFactory.createRequest( com.atlassian.sal.api.net.Request.MethodType.POST, serviceProvider.getRequestTokenUri().toString()); tokenRequest.addRequestParameters(parameterToStringArray(signedRequest.getParameters())); final TokenAndSecret tokenAndSecret = requestToken(serviceProvider.getRequestTokenUri().toString(), signedRequest); final ConsumerToken requestToken = ConsumerToken.newRequestToken(tokenAndSecret.token) .tokenSecret(tokenAndSecret.secret) .consumer(getConsumer(consumerKey)) .build(); assert (requestToken.isRequestToken()); return requestToken; }
private TokenAndSecret requestToken(String url, Request signedRequest) throws ResponseException { final com.atlassian.sal.api.net.Request tokenRequest = requestFactory.createRequest(com.atlassian.sal.api.net.Request.MethodType.POST, url); tokenRequest.addRequestParameters(parameterToStringArray(signedRequest.getParameters()));