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

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

Introduction

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

Prototype

public DefaultOAuth2ClientContext() 

Source Link

Usage

From source file:com.companyname.plat.commons.client.Oauth2Operation.java

public static OAuth2RestTemplate trustedClientRestTemplate() {
    return new OAuth2RestTemplate(readOnlyResourceDetails(), new DefaultOAuth2ClientContext());
}

From source file:org.opentestsystem.authoring.testspecbank.client.config.TestClientIntegratedConfigScanner.java

@Bean
public OAuth2RestTemplate oauthRestTemplate() {
    return new OAuth2RestTemplate(resourceDetails(), new DefaultOAuth2ClientContext());
}

From source file:org.glytoucan.admin.service.AuthService.java

/**
 * @param auth//w  ww  . j  a  v  a 2 s.  com
 * @return
 * @throws UserException
 */
@Transactional
public ResponseMessage authenticate(Authentication auth) {
    System.out.println("user:>" + auth.getId());
    System.out.println("key:>" + auth.getApiKey());
    //    String id = auth.getId();

    ResponseMessage rm = new ResponseMessage();
    rm.setErrorCode(ErrorCode.AUTHENTICATION_SUCCESS.toString());
    try {
        //      if (StringUtils.contains(id, "@")) {
        //        id = userProcedure.getIdByEmail(id);
        //      }
        if (!userProcedure.checkApiKey(auth.getId(), auth.getApiKey())) {
            DefaultOAuth2AccessToken defToken = new DefaultOAuth2AccessToken(auth.getApiKey());
            DefaultOAuth2ClientContext defaultContext = new DefaultOAuth2ClientContext();
            defaultContext.setAccessToken(defToken);
            OAuth2RestOperations rest = new OAuth2RestTemplate(googleOAuth2Details(), defaultContext);
            UserInfo user = null;
            try {
                final ResponseEntity<UserInfo> userInfoResponseEntity = rest
                        .getForEntity("https://www.googleapis.com/oauth2/v2/userinfo", UserInfo.class);
                logger.debug("userInfo:>" + userInfoResponseEntity.toString());
                user = userInfoResponseEntity.getBody();
            } catch (HttpClientErrorException e) {
                logger.debug("oauth failed:>" + e.getMessage());
                rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString());
                rm.setMessage("oauth failed:>" + e.getMessage());
                return rm;
            }
            //        String idFromEmail = userProcedure.getIdByEmail(user.getEmail());
            if (!StringUtils.equals(user.getEmail(), auth.getId())) {
                rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString());
                rm.setMessage("id do not equal:>" + user.getEmail() + "<> " + auth.getId());
                return rm;
            }
        } else {
            return rm;
        }
    } catch (UserException e1) {
        rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString());
        rm.setMessage("rdf checks failed:>" + e1.getMessage());
        return rm;
    }

    return rm;
}

From source file:com.feedeo.rest.client.AbstractOAuth2RestClient.java

@Override
protected RestOperations createRestOperations(ObjectMapper objectMapper,
        ClientHttpRequestFactory clientHttpRequestFactory) {
    RestTemplate restTemplate = (RestTemplate) super.createRestOperations(objectMapper,
            clientHttpRequestFactory);//from  ww  w  .  j  a v a 2  s .c  o  m

    OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(new BaseOAuth2ProtectedResourceDetails(),
            new DefaultOAuth2ClientContext());
    oAuth2RestTemplate.setRequestFactory(restTemplate.getRequestFactory());
    oAuth2RestTemplate.setMessageConverters(restTemplate.getMessageConverters());
    oAuth2RestTemplate.setInterceptors(restTemplate.getInterceptors());

    return oAuth2RestTemplate;
}

From source file:cz.cvut.zuul.support.spring.client.OAuth2ResourceDetailsBuilder.java

/**
 * @return Configured {@code OAuth2RestTemplate} instance for this resource.
 *//*from   w ww .ja  v  a  2 s  .c om*/
public OAuth2RestTemplate build() {
    OAuth2ProtectedResourceDetails resource = getResourceDetails();

    OAuth2ClientContext context = resource.isClientOnly() ? new DefaultOAuth2ClientContext()
            : new ScopedOAuth2ClientContext(resource.getId());

    return new OAuth2RestTemplate(resource, context);
}

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

/**
 * Not yet implemented//from  w w  w. j a  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}
 *//*from  ww w . j a v  a  2  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);
}

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}
 *//*  ww  w .j av a 2  s. c o 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

/**
 * Performs a {@link org.cloudfoundry.identity.client.token.GrantType#CLIENT_CREDENTIALS authentication}
 * @param request - a configured TokenRequest
 * @return an authenticated {@link UaaContext}
 *///from  w w w  .j av a2s  .co m

protected UaaContext authenticateClientCredentials(TokenRequest request) {
    ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails();
    configureResourceDetails(request, details);
    setClientCredentials(request, details);
    setRequestScopes(request, details);
    OAuth2RestTemplate template = new OAuth2RestTemplate(details, new DefaultOAuth2ClientContext());
    skipSslValidation(request, template, null);
    OAuth2AccessToken token = template.getAccessToken();
    CompositeAccessToken result = new CompositeAccessToken(token);
    return new UaaContextImpl(request, template, result);
}

From source file:od.providers.modeloutput.lap.LAPModelOutputProvider.java

private PageImpl<ModelOutput> fetch(ProviderData providerData, String tenantId,
        Map<String, String> urlVariables, Pageable pageable, String uri) {

    log.debug("{}", urlVariables);
    log.debug("{}", uri);

    String url = getUrl(providerData.findValueForKey("base_url"), uri, pageable);

    ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
    resourceDetails.setClientId(providerData.findValueForKey("key"));
    resourceDetails.setClientSecret(providerData.findValueForKey("secret"));
    resourceDetails//from www.  j a va 2s  . c  om
            .setAccessTokenUri(getUrl(providerData.findValueForKey("base_url"), LAP_OAUTH_TOKEN_URI, null));
    DefaultOAuth2ClientContext clientContext = new DefaultOAuth2ClientContext();

    OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resourceDetails, clientContext);
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setSupportedMediaTypes(
            Arrays.asList(MediaType.APPLICATION_JSON, MediaType.valueOf("text/javascript")));
    restTemplate.setMessageConverters(Arrays.<HttpMessageConverter<?>>asList(converter));
    ParameterizedTypeReference<PageWrapper<ModelOutputImpl>> responseType = new ParameterizedTypeReference<PageWrapper<ModelOutputImpl>>() {
    };

    PageWrapper<ModelOutputImpl> pageWrapper = restTemplate
            .exchange(url, HttpMethod.GET, null, responseType, urlVariables).getBody();
    log.debug(pageWrapper.toString());
    List<ModelOutput> output;
    if (pageWrapper != null && pageWrapper.getContent() != null && !pageWrapper.getContent().isEmpty()) {
        output = new LinkedList<ModelOutput>(pageWrapper.getContent());
    } else {
        output = new ArrayList<>();
    }

    return new PageImpl<ModelOutput>(output, pageable, pageWrapper.getPage().getTotalElements());
}