Example usage for org.springframework.security.oauth2.client.token AccessTokenProviderChain setClientTokenServices

List of usage examples for org.springframework.security.oauth2.client.token AccessTokenProviderChain setClientTokenServices

Introduction

In this page you can find the example usage for org.springframework.security.oauth2.client.token AccessTokenProviderChain setClientTokenServices.

Prototype

public void setClientTokenServices(ClientTokenServices clientTokenServices) 

Source Link

Document

Token services for long-term persistence of access tokens.

Usage

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  .jav  a  2  s.  c  o  m
        }
    }
    return restTemplate;
}

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;//www. jav  a  2  s.  com

    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;
}