List of usage examples for org.springframework.security.oauth2.client OAuth2RestTemplate OAuth2RestTemplate
public OAuth2RestTemplate(OAuth2ProtectedResourceDetails resource, OAuth2ClientContext context)
From source file:com.onedrive.api.OneDrive.java
public RestTemplate getRestTemplate() { if (restTemplate == null) { DefaultAccessTokenRequest accessTokenRequest = new DefaultAccessTokenRequest(); accessTokenRequest.setAuthorizationCode(authorizationCode); accessTokenRequest.setPreservedState(new Object()); accessTokenRequest.setExistingToken(getOAuth2AccessToken()); restTemplate = new OAuth2RestTemplate(getResourceDetails(), new DefaultOAuth2ClientContext(accessTokenRequest)); restTemplate.setErrorHandler(new OneDriveErrorHandler(restTemplate.getMessageConverters())); AccessTokenProviderChain provider = new AccessTokenProviderChain( Arrays.asList(new AuthorizationCodeAccessTokenProvider())); provider.setClientTokenServices(new InternalTokenServices(this)); ((OAuth2RestTemplate) restTemplate).setAccessTokenProvider(provider); restTemplate.getMessageConverters().add(new MultipartRelatedHttpMessageConverter()); for (HttpMessageConverter<?> mc : restTemplate.getMessageConverters()) { if (mc instanceof MappingJackson2HttpMessageConverter) { objectMapper = ((MappingJackson2HttpMessageConverter) mc).getObjectMapper(); objectMapper.setInjectableValues(new InjectableValues.Std().addValue(OneDrive.class, this)); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); SimpleModule module = new SimpleModule(); module.addDeserializer(Date.class, new InternalDateDeserializer()); objectMapper.registerModule(module); }//from w w w. j a v a2 s .co m } } return restTemplate; }
From source file:cz.cvut.zuul.support.spring.client.OAuth2ResourceDetailsBuilder.java
/** * @return Configured {@code OAuth2RestTemplate} instance for this resource. */// www. j a v a 2s . c o m public OAuth2RestTemplate build() { OAuth2ProtectedResourceDetails resource = getResourceDetails(); OAuth2ClientContext context = resource.isClientOnly() ? new DefaultOAuth2ClientContext() : new ScopedOAuth2ClientContext(resource.getId()); return new OAuth2RestTemplate(resource, context); }
From source file:com.github.bonndan.fullofstars.FOSApplication.java
private Filter ssoFilter(ClientResources client, String path) { OAuth2ClientAuthenticationProcessingFilter filter = new OAuth2ClientAuthenticationProcessingFilter(path); OAuth2RestTemplate templ = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext); filter.setRestTemplate(templ);//from w ww.j a v a 2 s .co m filter.setTokenServices( new UserInfoTokenServices(client.getResource().getUserInfoUri(), client.getClient().getClientId())); return filter; }
From source file:de.dominikschadow.duke.encounters.config.WebSecurityConfig.java
private Filter ssoFilter(ClientResources client, String path) { OAuth2ClientAuthenticationProcessingFilter oAuth2ClientAuthenticationFilter = new OAuth2ClientAuthenticationProcessingFilter( path);//from w ww .j av a 2 s .co m OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext); oAuth2ClientAuthenticationFilter.setRestTemplate(oAuth2RestTemplate); UserInfoTokenServices tokenServices = new UserInfoTokenServices(client.getResource().getUserInfoUri(), client.getClient().getClientId()); tokenServices.setRestTemplate(oAuth2RestTemplate); oAuth2ClientAuthenticationFilter.setTokenServices(tokenServices); return oAuth2ClientAuthenticationFilter; }
From source file:org.cloudfoundry.identity.uaa.integration.TestAccountSetup.java
private OAuth2RestTemplate createRestTemplate(OAuth2ProtectedResourceDetails resource, AccessTokenRequest accessTokenRequest) { OAuth2ClientContext context = new DefaultOAuth2ClientContext(accessTokenRequest); OAuth2RestTemplate client = new OAuth2RestTemplate(resource, context); client.setRequestFactory(new SimpleClientHttpRequestFactory() { @Override//from ww w .jav a 2 s .c o m protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException { super.prepareConnection(connection, httpMethod); connection.setInstanceFollowRedirects(false); } }); client.setErrorHandler(new ResponseErrorHandler() { // Pass errors through in response entity for status code analysis public boolean hasError(ClientHttpResponse response) throws IOException { return false; } public void handleError(ClientHttpResponse response) throws IOException { } }); List<HttpMessageConverter<?>> list = new ArrayList<HttpMessageConverter<?>>(); list.add(new StringHttpMessageConverter()); list.add(new MappingJacksonHttpMessageConverter()); client.setMessageConverters(list); return client; }
From source file:org.openmhealth.shim.OAuth2ShimBase.java
protected OAuth2RestOperations restTemplate(String stateKey, String code) { DefaultAccessTokenRequest existingRequest = stateKey != null && authorizationRequestParametersRepo.findByStateKey(stateKey) != null ? (DefaultAccessTokenRequest) SerializationUtils.deserialize( authorizationRequestParametersRepo.findByStateKey(stateKey).getSerializedRequest()) : null;// ww w. ja v a 2 s . c o m if (existingRequest != null && code != null) { existingRequest.set("code", code); } DefaultOAuth2ClientContext context = new DefaultOAuth2ClientContext( existingRequest != null ? existingRequest : new DefaultAccessTokenRequest()); if (existingRequest != null) { context.setPreservedState(stateKey, "NONE"); } OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(getResource(), context); AccessTokenProviderChain tokenProviderChain = new AccessTokenProviderChain( new ArrayList<>(Arrays.asList(getAuthorizationCodeAccessTokenProvider()))); tokenProviderChain.setClientTokenServices(new AccessParameterClientTokenServices(accessParametersRepo)); restTemplate.setAccessTokenProvider(tokenProviderChain); return restTemplate; }
From source file:org.cloudfoundry.identity.client.UaaContextFactory.java
/** * Not yet implemented//from w ww . j av a2 s .c o m * @param tokenRequest - a configured TokenRequest * @return an authenticated {@link UaaContext} */ protected UaaContext authenticateAuthCode(final TokenRequest tokenRequest) { AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); details.setPreEstablishedRedirectUri(tokenRequest.getRedirectUri().toString()); details.setUserAuthorizationUri(tokenRequest.getAuthorizationEndpoint().toString()); configureResourceDetails(tokenRequest, details); setClientCredentials(tokenRequest, details); setRequestScopes(tokenRequest, details); //begin - work around for not having UI for now DefaultOAuth2ClientContext oAuth2ClientContext = new DefaultOAuth2ClientContext(); oAuth2ClientContext.getAccessTokenRequest().setStateKey(tokenRequest.getState()); oAuth2ClientContext.setPreservedState(tokenRequest.getState(), details.getPreEstablishedRedirectUri()); oAuth2ClientContext.getAccessTokenRequest().setCurrentUri(details.getPreEstablishedRedirectUri()); //end - work around for not having UI for now OAuth2RestTemplate template = new OAuth2RestTemplate(details, oAuth2ClientContext); skipSslValidation(tokenRequest, template, null); template.getAccessToken(); throw new UnsupportedOperationException(AUTHORIZATION_CODE + " is not yet implemented"); }
From source file:org.cloudfoundry.identity.client.UaaContextFactory.java
/** * Performs and authorization_code grant, but uses a token to assert the user's identity. * @param tokenRequest - a configured TokenRequest * @return an authenticated {@link UaaContext} *//*from w w w .ja va 2s .c o m*/ protected UaaContext authenticateAuthCodeWithToken(final TokenRequest tokenRequest) { List<OAuth2AccessTokenSupport> providers = Collections .singletonList(new AuthorizationCodeAccessTokenProvider() { @Override protected ResponseExtractor<OAuth2AccessToken> getResponseExtractor() { getRestTemplate(); // force initialization MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); return new HttpMessageConverterExtractor<OAuth2AccessToken>(CompositeAccessToken.class, Arrays.asList(converter)); } }); enhanceRequestParameters(tokenRequest, providers.get(0)); AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); details.setPreEstablishedRedirectUri(tokenRequest.getRedirectUri().toString()); configureResourceDetails(tokenRequest, details); setClientCredentials(tokenRequest, details); setRequestScopes(tokenRequest, details); details.setUserAuthorizationUri(tokenRequest.getAuthorizationEndpoint().toString()); DefaultOAuth2ClientContext oAuth2ClientContext = new DefaultOAuth2ClientContext(); oAuth2ClientContext.getAccessTokenRequest().setStateKey(tokenRequest.getState()); oAuth2ClientContext.setPreservedState(tokenRequest.getState(), details.getPreEstablishedRedirectUri()); oAuth2ClientContext.getAccessTokenRequest().setCurrentUri(details.getPreEstablishedRedirectUri()); Map<String, List<String>> headers = (Map<String, List<String>>) oAuth2ClientContext.getAccessTokenRequest() .getHeaders(); headers.put("Authorization", Arrays.asList("bearer " + tokenRequest.getAuthCodeAPIToken())); OAuth2RestTemplate template = new OAuth2RestTemplate(details, oAuth2ClientContext); skipSslValidation(tokenRequest, template, providers); OAuth2AccessToken token = template.getAccessToken(); return new UaaContextImpl(tokenRequest, template, (CompositeAccessToken) token); }