Example usage for org.springframework.security.oauth2.client.token.grant.code AuthorizationCodeAccessTokenProvider obtainAuthorizationCode

List of usage examples for org.springframework.security.oauth2.client.token.grant.code AuthorizationCodeAccessTokenProvider obtainAuthorizationCode

Introduction

In this page you can find the example usage for org.springframework.security.oauth2.client.token.grant.code AuthorizationCodeAccessTokenProvider obtainAuthorizationCode.

Prototype

public String obtainAuthorizationCode(OAuth2ProtectedResourceDetails details, AccessTokenRequest request)
            throws UserRedirectRequiredException, UserApprovalRequiredException, AccessDeniedException,
            OAuth2AccessDeniedException 

Source Link

Usage

From source file:sparklr.common.AbstractAuthorizationCodeProviderTests.java

private void verifyAuthorizationPage(OAuth2RestTemplate restTemplate, String location) {
    final AtomicReference<String> confirmationPage = new AtomicReference<String>();
    AuthorizationCodeAccessTokenProvider provider = new AuthorizationCodeAccessTokenProvider() {
        @Override/* w  w w .  j ava 2 s.  c  o m*/
        protected ResponseExtractor<ResponseEntity<Void>> getAuthorizationResponseExtractor() {
            return new ResponseExtractor<ResponseEntity<Void>>() {
                public ResponseEntity<Void> extractData(ClientHttpResponse response) throws IOException {
                    confirmationPage
                            .set(StreamUtils.copyToString(response.getBody(), Charset.forName("UTF-8")));
                    return new ResponseEntity<Void>(response.getHeaders(), response.getStatusCode());
                }
            };
        }
    };
    try {
        provider.obtainAuthorizationCode(restTemplate.getResource(),
                restTemplate.getOAuth2ClientContext().getAccessTokenRequest());
    } catch (UserApprovalRequiredException e) {
        // ignore
    }
    String page = confirmationPage.get();
    verifyAuthorizationPage(page);
}