List of usage examples for org.springframework.security.oauth2.client OAuth2RestTemplate getAccessToken
public OAuth2AccessToken getAccessToken() throws UserRedirectRequiredException
From source file:com.bcknds.demo.oauth2.security.PasswordAuthenticationTests.java
/** * Verify that authentication is successful. *///from w ww . ja v a 2 s . co m @Test public void testSuccessfulAuthentication() { OAuth2RestTemplate restTemplate = AuthenticationUtil.getPasswordCredentials(USERNAME, PASSWORD); OAuth2AccessToken token = null; try { token = restTemplate.getAccessToken(); } catch (OAuth2AccessDeniedException ex) { if (ex.getCause() instanceof ResourceAccessException) { fail("It appears that the server may not be running. Please start it before running tests"); } else { fail(ex.getMessage()); } } catch (Exception ex) { fail(ex.getMessage()); } assertNotNull(token.getValue()); }
From source file:com.bcknds.demo.oauth2.security.ClientCredentialAuthenticationTests.java
/** * Verify that authentication is successful. *///w w w . j a v a2 s . c o m @Test public void testSuccessfulAuthentication() { OAuth2RestTemplate restTemplate = AuthenticationUtil.getClientCredentials(); OAuth2AccessToken token = null; try { token = restTemplate.getAccessToken(); } catch (OAuth2AccessDeniedException ex) { if (ex.getCause() instanceof ResourceAccessException) { fail("It appears that the server may not be running. Please start it before running tests"); } else { fail(ex.getMessage()); } } catch (Exception ex) { fail(ex.getMessage()); } assertNotNull(token.getValue()); }
From source file:org.cloudfoundry.identity.client.UaaContextFactory.java
/** * Not yet implemented//from w w w .j a v a 2 s . c om * @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 a {@link org.cloudfoundry.identity.client.token.GrantType#CLIENT_CREDENTIALS authentication} * @param request - a configured TokenRequest * @return an authenticated {@link UaaContext} *//*w w w .ja v a 2 s . c o 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: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 w w w . j a v a2s .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} *///from ww w.j a v a2s. 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); }