Package org.springframework.web.client

Examples of org.springframework.web.client.RestTemplate


  private ClientHttpRequestFactory factory;


  @Before
  public void setup() {
    RestTemplate restTemplate = new RestTemplate();
    this.server = MockRestServiceServer.createServer(restTemplate);
    this.factory = restTemplate.getRequestFactory();
  }
View Full Code Here


@ComponentScan(basePackages="steveonjava.client")
@ImportResource("classpath:applicationContext-security.xml")
public class CustomerAppConfiguration {
    @Bean
    RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.setMessageConverters(Collections.<HttpMessageConverter<?>>singletonList(new MappingJacksonHttpMessageConverter()));
        return restTemplate;
    }
View Full Code Here

        return customerModel;
    }

    @Bean
    RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.setMessageConverters(Collections.<HttpMessageConverter<?>>singletonList(new MappingJacksonHttpMessageConverter()));
        return restTemplate;
    }
View Full Code Here

    }
    // Use the SpringFramework RestTemplate to send the request to the
    // endpoint
    String validatedToken = null;

    RestTemplate restTemplate;
    MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>();

    final String clientId = client.getClientId();
    final String clientSecret = client.getClientSecret();

    if (SECRET_BASIC.equals(client.getTokenEndpointAuthMethod())){
      // use BASIC auth if configured to do so
      restTemplate = new RestTemplate(factory) {

        @Override
        protected ClientHttpRequest createRequest(URI url, HttpMethod method) throws IOException {
          ClientHttpRequest httpRequest = super.createRequest(url, method);
          httpRequest.getHeaders().add("Authorization",
              String.format("Basic %s", Base64.encode(String.format("%s:%s", clientId, clientSecret)) ));
          return httpRequest;
        }
      };
    } else //Alternatively use form based auth
      restTemplate = new RestTemplate(factory);

      form.add("client_id", clientId);
      form.add("client_secret", clientSecret);
    }

    form.add("token", accessToken);

    try {
      validatedToken = restTemplate.postForObject(introspectionUrl, form, String.class);
    } catch (RestClientException rce) {
      logger.error("validateToken", rce);
    }
    if (validatedToken != null) {
      // parse the json
View Full Code Here

      HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
     
      String userInfoString = null;
     
      if (serverConfiguration.getUserInfoTokenMethod() == null || serverConfiguration.getUserInfoTokenMethod().equals(UserInfoTokenMethod.HEADER)) {
        RestTemplate restTemplate = new RestTemplate(factory) {
         
          @Override
          protected ClientHttpRequest createRequest(URI url, HttpMethod method) throws IOException {
            ClientHttpRequest httpRequest = super.createRequest(url, method);
            httpRequest.getHeaders().add("Authorization", String.format("Bearer %s", token.getAccessTokenValue()));
            return httpRequest;
          }
        };
       
        userInfoString = restTemplate.getForObject(serverConfiguration.getUserInfoUri(), String.class);
       
      } else if (serverConfiguration.getUserInfoTokenMethod().equals(UserInfoTokenMethod.FORM)) {
        MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>();
        form.add("access_token", token.getAccessTokenValue());
       
        RestTemplate restTemplate = new RestTemplate(factory);
        userInfoString = restTemplate.postForObject(serverConfiguration.getUserInfoUri(), form, String.class);
      } else if (serverConfiguration.getUserInfoTokenMethod().equals(UserInfoTokenMethod.QUERY)) {
        URIBuilder builder = new URIBuilder(serverConfiguration.getUserInfoUri());
        builder.setParameter("access_token",  token.getAccessTokenValue());
       
        RestTemplate restTemplate = new RestTemplate(factory);
        userInfoString = restTemplate.getForObject(builder.toString(), String.class);
      }


      if (!Strings.isNullOrEmpty(userInfoString)) {
View Full Code Here

    httpClient.getParams().setParameter("http.socket.timeout", new Integer(httpSocketTimeout));

    HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);

    RestTemplate restTemplate;

    if (SECRET_BASIC.equals(clientConfig.getTokenEndpointAuthMethod())){
      // use BASIC auth if configured to do so
      restTemplate = new RestTemplate(factory) {

        @Override
        protected ClientHttpRequest createRequest(URI url, HttpMethod method) throws IOException {
          ClientHttpRequest httpRequest = super.createRequest(url, method);
          httpRequest.getHeaders().add("Authorization",
              String.format("Basic %s", Base64.encode(String.format("%s:%s", clientConfig.getClientId(), clientConfig.getClientSecret())) ));



          return httpRequest;
        }
      };
    } else {
      // we're not doing basic auth, figure out what other flavor we have
      restTemplate = new RestTemplate(factory);

      if (SECRET_JWT.equals(clientConfig.getTokenEndpointAuthMethod()) || PRIVATE_KEY.equals(clientConfig.getTokenEndpointAuthMethod())) {
        // do a symmetric secret signed JWT for auth


        JwtSigningAndValidationService signer = null;
        JWSAlgorithm alg = clientConfig.getTokenEndpointAuthSigningAlg();

        if (SECRET_JWT.equals(clientConfig.getTokenEndpointAuthMethod()) &&
            (alg.equals(JWSAlgorithm.HS256)
                || alg.equals(JWSAlgorithm.HS384)
                || alg.equals(JWSAlgorithm.HS512))) {

          // generate one based on client secret
          signer = symmetricCacheService.getSymmetricValidtor(clientConfig.getClient());

        } else if (PRIVATE_KEY.equals(clientConfig.getTokenEndpointAuthMethod())) {

          // needs to be wired in to the bean
          signer = authenticationSignerService;
         
          if (alg == null) {
            alg = authenticationSignerService.getDefaultSigningAlgorithm();
          }
        }

        if (signer == null) {
          throw new AuthenticationServiceException("Couldn't find required signer service for use with private key auth.");
        }

        JWTClaimsSet claimsSet = new JWTClaimsSet();

        claimsSet.setIssuer(clientConfig.getClientId());
        claimsSet.setSubject(clientConfig.getClientId());
        claimsSet.setAudience(Lists.newArrayList(serverConfig.getTokenEndpointUri()));

        // TODO: make this configurable
        Date exp = new Date(System.currentTimeMillis() + (60 * 1000)); // auth good for 60 seconds
        claimsSet.setExpirationTime(exp);

        Date now = new Date(System.currentTimeMillis());
        claimsSet.setIssueTime(now);
        claimsSet.setNotBeforeTime(now);

        SignedJWT jwt = new SignedJWT(new JWSHeader(alg), claimsSet);

        signer.signJwt(jwt, alg);

        form.add("client_assertion_type", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer");
        form.add("client_assertion", jwt.serialize());
      } else {
        //Alternatively use form based auth
        form.add("client_id", clientConfig.getClientId());
        form.add("client_secret", clientConfig.getClientSecret());
      }

    }

    logger.debug("tokenEndpointURI = " + serverConfig.getTokenEndpointUri());
    logger.debug("form = " + form);

    String jsonString = null;

    try {
      jsonString = restTemplate.postForObject(serverConfig.getTokenEndpointUri(), form, String.class);
    } catch (HttpClientErrorException httpClientErrorException) {

      // Handle error

      logger.error("Token Endpoint error response:  "
View Full Code Here

    private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
    private JsonParser parser = new JsonParser();

    @Override
    public ServerConfiguration load(String issuer) throws Exception {
      RestTemplate restTemplate = new RestTemplate(httpFactory);

      // data holder
      ServerConfiguration conf = new ServerConfiguration();

      // construct the well-known URI
      String url = issuer + "/.well-known/openid-configuration";

      // fetch the value
      String jsonString = restTemplate.getForObject(url, String.class);

      JsonElement parsed = parser.parse(jsonString);
      if (parsed.isJsonObject()) {

        JsonObject o = parsed.getAsJsonObject();
View Full Code Here

    private JsonParser parser = new JsonParser();

    @Override
    public String load(UriComponents key) throws Exception {

      RestTemplate restTemplate = new RestTemplate(httpFactory);
      // construct the URL to go to

      // preserving http scheme is strictly for demo system use only.
      String scheme = key.getScheme();
      if (!Strings.isNullOrEmpty(scheme) && scheme.equals("http")) {
        scheme = "http://"; // add on colon and slashes.
        logger.warn("Webfinger endpoint MUST use the https URI scheme.");
      } else {
        scheme = "https://";
      }

      // do a webfinger lookup
      URIBuilder builder = new URIBuilder(scheme
          + key.getHost()
          + (key.getPort() >= 0 ? ":" + key.getPort() : "")
          + Strings.nullToEmpty(key.getPath())
          + "/.well-known/webfinger"
          + (Strings.isNullOrEmpty(key.getQuery()) ? "" : "?" + key.getQuery())
          );
      builder.addParameter("resource", key.toString());
      builder.addParameter("rel", "http://openid.net/specs/connect/1.0/issuer");

      // do the fetch
      logger.info("Loading: " + builder.toString());
      String webfingerResponse = restTemplate.getForObject(builder.build(), String.class);

      // TODO: catch and handle HTTP errors

      JsonElement json = parser.parse(webfingerResponse);
View Full Code Here

    private URI myPostURI = null;
    private RestTemplate myRestTemplate = null;

    public JsonPost(final String thePostUrlStr) throws URISyntaxException {
        this.myPostURI = new URI(thePostUrlStr);
        this.myRestTemplate = new RestTemplate();
    }
View Full Code Here

  private RestTemplate restTemplate;

  @Before
  public void setup() {
    this.restTemplate = new RestTemplate();
    this.mockServer = MockRestServiceServer.createServer(this.restTemplate);
  }
View Full Code Here

TOP

Related Classes of org.springframework.web.client.RestTemplate

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.