Example usage for org.springframework.security.oauth2.client DefaultOAuth2ClientContext getAccessTokenRequest

List of usage examples for org.springframework.security.oauth2.client DefaultOAuth2ClientContext getAccessTokenRequest

Introduction

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

Prototype

public AccessTokenRequest getAccessTokenRequest() 

Source Link

Usage

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

/**
 * Not yet implemented/*from   w w w  .ja va 2 s  .co 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}
 *///  ww  w  .j  a va2  s  . 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);
}