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

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

Introduction

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

Prototype

public AccessTokenProviderChain(List<? extends AccessTokenProvider> chain) 

Source Link

Usage

From source file:sample.jsp.WelcomeController.java

@Bean
public AccessTokenProvider accessTokenProviderChain() {
    return new AccessTokenProviderChain(Arrays.<AccessTokenProvider>asList(new OpenIDTokenProvider(),
            new AuthorizationCodeAccessTokenProvider(), new ImplicitAccessTokenProvider(),
            new ResourceOwnerPasswordAccessTokenProvider(), new ClientCredentialsAccessTokenProvider()));
}

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);
            }//ww w.  j ava2  s .  co 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;//from w w  w  . j a v a 2  s. c  om

    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

/**
 * If the {@link TokenRequest#isSkipSslValidation()} returns true, the rest template
 * will be configured//from  w ww .  j  a v a 2 s  .  c  om
 * @param tokenRequest
 * @param template
 */
protected void skipSslValidation(TokenRequest tokenRequest, OAuth2RestTemplate template,
        List<OAuth2AccessTokenSupport> existingProviders) {
    ClientHttpRequestFactory requestFactory = null;
    if (tokenRequest.isSkipSslValidation()) {
        requestFactory = getNoValidatingClientHttpRequestFactory();
    }
    List<OAuth2AccessTokenSupport> accessTokenProviders = existingProviders != null ? existingProviders
            : Arrays.<OAuth2AccessTokenSupport>asList(new AuthorizationCodeAccessTokenProvider(),
                    new ImplicitAccessTokenProvider(), new ResourceOwnerPasswordAccessTokenProvider(),
                    new ClientCredentialsAccessTokenProvider());
    List<AccessTokenProvider> providers = new ArrayList<>();
    for (OAuth2AccessTokenSupport provider : accessTokenProviders) {
        if (requestFactory != null) {
            provider.setRequestFactory(requestFactory);
        }
        providers.add((AccessTokenProvider) provider);
    }
    AccessTokenProviderChain chain = new AccessTokenProviderChain(providers);
    template.setAccessTokenProvider(chain);
}