Skip to content

Commit

Permalink
Use lambda instead of new class.
Browse files Browse the repository at this point in the history
  • Loading branch information
fhanik committed Nov 25, 2015
1 parent 8f556f6 commit 76babfb
Showing 1 changed file with 21 additions and 13 deletions.
Expand Up @@ -95,7 +95,7 @@ public UaaContext authenticate(TokenRequest request) {
}
}

protected UaaContext authenticatePassword(TokenRequest request) {
protected UaaContext authenticatePassword(final TokenRequest tokenRequest) {
ResourceOwnerPasswordAccessTokenProvider provider = new ResourceOwnerPasswordAccessTokenProvider() {
@Override
protected ResponseExtractor<OAuth2AccessToken> getResponseExtractor() {
Expand All @@ -104,21 +104,31 @@ protected ResponseExtractor<OAuth2AccessToken> getResponseExtractor() {
return new HttpMessageConverterExtractor<OAuth2AccessToken>(CompositeAccessToken.class, Arrays.asList(converter));
}
};
provider.setTokenRequestEnhancer(new PasswordTokenRequestEnhancer(request));
provider.setTokenRequestEnhancer( //add id_token to the response type if requested.
(AccessTokenRequest request,
OAuth2ProtectedResourceDetails resource,
MultiValueMap<String, String> form,
HttpHeaders headers) -> {
if (tokenRequest.wantsIdToken()) {
form.put(OAuth2Utils.RESPONSE_TYPE, Arrays.asList("id_token token"));
}

}
);
ResourceOwnerPasswordResourceDetails details = new ResourceOwnerPasswordResourceDetails();
details.setUsername(request.getUsername());
details.setPassword(request.getPassword());
details.setClientId(request.getClientId());
details.setClientSecret(request.getClientSecret());
if (!Objects.isNull(request.getScopes())) {
details.setScope(new LinkedList(request.getScopes()));
details.setUsername(tokenRequest.getUsername());
details.setPassword(tokenRequest.getPassword());
details.setClientId(tokenRequest.getClientId());
details.setClientSecret(tokenRequest.getClientSecret());
if (!Objects.isNull(tokenRequest.getScopes())) {
details.setScope(new LinkedList(tokenRequest.getScopes()));
}
details.setClientAuthenticationScheme(header);
details.setAccessTokenUri(request.getTokenEndpoint().toString());
details.setAccessTokenUri(tokenRequest.getTokenEndpoint().toString());
OAuth2RestTemplate template = new OAuth2RestTemplate(details,new DefaultOAuth2ClientContext());
template.setAccessTokenProvider(provider);
OAuth2AccessToken token = template.getAccessToken();
return new UaaContextImpl(request, template, (CompositeAccessToken) token);
return new UaaContextImpl(tokenRequest, template, (CompositeAccessToken) token);
}

protected UaaContext authenticateClientCredentials(TokenRequest request) {
Expand All @@ -145,9 +155,7 @@ public PasswordTokenRequestEnhancer(TokenRequest request) {

@Override
public void enhance(AccessTokenRequest request, OAuth2ProtectedResourceDetails resource, MultiValueMap<String, String> form, HttpHeaders headers) {
if (this.request.wantsIdToken()) {
form.put(OAuth2Utils.RESPONSE_TYPE, Arrays.asList("id_token token"));
}

}


Expand Down

0 comments on commit 76babfb

Please sign in to comment.