Example usage for org.springframework.security.oauth2.client.token.grant.code AuthorizationCodeResourceDetails setUserAuthorizationUri

List of usage examples for org.springframework.security.oauth2.client.token.grant.code AuthorizationCodeResourceDetails setUserAuthorizationUri

Introduction

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

Prototype

public void setUserAuthorizationUri(String userAuthorizationUri) 

Source Link

Document

The URI to which the user is to be redirected to authorize an access token.

Usage

From source file:org.openmhealth.shim.OAuth2ShimBase.java

public OAuth2ProtectedResourceDetails getResource() {
    ApplicationAccessParameters parameters = findApplicationAccessParameters();
    AuthorizationCodeResourceDetails resource = new AuthorizationCodeResourceDetails();
    resource.setAccessTokenUri(getBaseTokenUrl());
    resource.setUserAuthorizationUri(getBaseAuthorizeUrl());
    resource.setClientId(parameters.getClientId());
    resource.setScope(getScopes());// w  w w  .j a  va2  s  . co  m
    resource.setClientSecret(parameters.getClientSecret());
    resource.setTokenName("access_token");
    resource.setGrantType("authorization_code");
    resource.setUseCurrentUri(true);
    return resource;
}

From source file:de.pksoftware.springstrap.core.config.GoogleLoginConfigBase.java

@Bean
protected OAuth2ProtectedResourceDetails googleOAuth2DetailsBean() {
    AuthorizationCodeResourceDetails googleOAuth2Details = new AuthorizationCodeResourceDetails();
    googleOAuth2Details.setAuthenticationScheme(form);
    googleOAuth2Details.setClientAuthenticationScheme(form);
    googleOAuth2Details.setClientId(clientId);
    googleOAuth2Details.setClientSecret(clientSecret);
    googleOAuth2Details.setUserAuthorizationUri("https://accounts.google.com/o/oauth2/auth");
    googleOAuth2Details.setAccessTokenUri("https://www.googleapis.com/oauth2/v3/token");
    googleOAuth2Details.setScope(asList("openid"));

    return googleOAuth2Details;
}

From source file:de.pksoftware.springstrap.core.config.FacebookLoginConfigBase.java

@Bean
protected OAuth2ProtectedResourceDetails facebookOAuth2DetailsBean() {
    AuthorizationCodeResourceDetails facebookOAuth2Details = new AuthorizationCodeResourceDetails();
    facebookOAuth2Details.setAuthenticationScheme(form);
    facebookOAuth2Details.setClientAuthenticationScheme(form);
    facebookOAuth2Details.setClientId(clientId);
    facebookOAuth2Details.setClientSecret(clientSecret);
    facebookOAuth2Details.setUserAuthorizationUri("http://www.facebook.com/dialog/oauth");
    facebookOAuth2Details.setAccessTokenUri("https://graph.facebook.com/oauth/access_token");
    facebookOAuth2Details.setScope(asList("email"));
    facebookOAuth2Details.setUseCurrentUri(true);
    return facebookOAuth2Details;
}

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

public OAuth2ProtectedResourceDetails googleOAuth2Details() {
    AuthorizationCodeResourceDetails googleOAuth2Details = new AuthorizationCodeResourceDetails();
    googleOAuth2Details.setAuthenticationScheme(form);
    googleOAuth2Details.setClientAuthenticationScheme(form);
    googleOAuth2Details.setClientId(clientId);
    googleOAuth2Details.setClientSecret(clientSecret);
    googleOAuth2Details.setUserAuthorizationUri("https://accounts.google.com/o/oauth2/auth");
    googleOAuth2Details.setAccessTokenUri("https://www.googleapis.com/oauth2/v3/token");
    googleOAuth2Details.setScope(asList("email"));
    return googleOAuth2Details;
}

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

/**
 * Not yet implemented//from w  w  w .ja  v  a 2  s .  c  o 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  w ww. 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.uaa.test.UaaTestAccounts.java

public AuthorizationCodeResourceDetails getDefaultAuthorizationCodeResource() {
    ResourceOwnerPasswordResourceDetails resource = getDefaultResourceOwnerPasswordResource();
    AuthorizationCodeResourceDetails result = new AuthorizationCodeResourceDetails();
    result.setAccessTokenUri(resource.getAccessTokenUri());
    result.setUserAuthorizationUri(resource.getAccessTokenUri().replace("/token", "/authorize"));
    result.setClientId(resource.getClientId());
    result.setClientSecret(resource.getClientSecret());
    String redirectUri = environment.getProperty("oauth.clients.app.redirect-uri",
            "http://localhost:8080/app/");
    result.setPreEstablishedRedirectUri(redirectUri);
    return result;
}