Example usage for org.springframework.security.oauth2.client.token.grant.password ResourceOwnerPasswordAccessTokenProvider ResourceOwnerPasswordAccessTokenProvider

List of usage examples for org.springframework.security.oauth2.client.token.grant.password ResourceOwnerPasswordAccessTokenProvider ResourceOwnerPasswordAccessTokenProvider

Introduction

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

Prototype

ResourceOwnerPasswordAccessTokenProvider

Source Link

Usage

From source file:cloud.api.gateway.ApiGatewayApplication.java

@Bean
UserInfoRestTemplateCustomizer userInfoRestTemplateCustomizer(SpringClientFactory springClientFactory) {
    return template -> {
        AccessTokenProviderChain accessTokenProviderChain = Stream
                .of(new AuthorizationCodeAccessTokenProvider(), new ImplicitAccessTokenProvider(),
                        new ResourceOwnerPasswordAccessTokenProvider(),
                        new ClientCredentialsAccessTokenProvider())
                .peek(tp -> tp.setRequestFactory(new RibbonClientHttpRequestFactory(springClientFactory)))
                .collect(Collectors.collectingAndThen(Collectors.toList(), AccessTokenProviderChain::new));
        template.setAccessTokenProvider(accessTokenProviderChain);
    };// w  w w.j a  v  a 2  s. c o  m
}

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:org.cloudfoundry.client.lib.oauth2.OauthClient.java

protected ResourceOwnerPasswordAccessTokenProvider createResourceOwnerPasswordAccessTokenProvider() {
    ResourceOwnerPasswordAccessTokenProvider resourceOwnerPasswordAccessTokenProvider = new ResourceOwnerPasswordAccessTokenProvider();
    resourceOwnerPasswordAccessTokenProvider.setRequestFactory(restTemplate.getRequestFactory()); //copy the http proxy along
    return resourceOwnerPasswordAccessTokenProvider;
}

From source file:org.cloudfoundry.identity.client.UaaContextFactory.java

/**
 * Performs a {@link org.cloudfoundry.identity.client.token.GrantType#PASSWORD authentication}
 * @param tokenRequest - a configured TokenRequest
 * @return an authenticated {@link UaaContext}
 *///  w w  w.  j  ava  2 s .co  m
protected UaaContext authenticatePassword(final TokenRequest tokenRequest) {
    List<OAuth2AccessTokenSupport> providers = Collections
            .singletonList(new ResourceOwnerPasswordAccessTokenProvider() {
                @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));
    ResourceOwnerPasswordResourceDetails details = new ResourceOwnerPasswordResourceDetails();
    configureResourceDetails(tokenRequest, details);
    setUserCredentials(tokenRequest, details);
    setClientCredentials(tokenRequest, details);
    setRequestScopes(tokenRequest, details);
    OAuth2RestTemplate template = new OAuth2RestTemplate(details, new DefaultOAuth2ClientContext());
    skipSslValidation(tokenRequest, template, providers);
    OAuth2AccessToken token = template.getAccessToken();
    return new UaaContextImpl(tokenRequest, template, (CompositeAccessToken) token);
}

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  av a2s  .  c o  m
 * @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);
}