Skip to content

Commit

Permalink
Revert accidental changes
Browse files Browse the repository at this point in the history
  • Loading branch information
sjohnr committed Oct 18, 2024
1 parent 0c4a6f2 commit bb9baaf
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public RestClientConfiguration(@Value("${messages.base-url}") String baseUrl) {
this.baseUrl = baseUrl;
}

// @Bean
@Bean
public RestClient restClient(OAuth2AuthorizedClientManager authorizedClientManager,
OAuth2AuthorizedClientRepository authorizedClientRepository,
OAuth2ClientHttpRequestInterceptor.ClientRegistrationIdResolver clientRegistrationIdResolver,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,10 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.http.converter.FormHttpMessageConverter;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient;
import org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest;
import org.springframework.security.oauth2.client.endpoint.RestClientClientCredentialsTokenResponseClient;
import org.springframework.security.oauth2.client.http.OAuth2ErrorResponseErrorHandler;
import org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse;
import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
import org.springframework.security.oauth2.core.http.converter.OAuth2AccessTokenResponseHttpMessageConverter;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.util.matcher.RequestMatcher;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClient;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

/**
* Security configuration for {@link OAuth2RestClientApplication}.
Expand Down Expand Up @@ -77,55 +62,4 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
return http.build();
}

@Bean
public OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> clientCredentialsAccessTokenResponseClient() {
RequestMatcher requestMatcher = (request) -> false;
Converter<OAuth2ClientCredentialsGrantRequest, MultiValueMap<String, String>> parametersConverter = (grantRequest) -> {
LinkedMultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
if (grantRequest.getClientRegistration().getRegistrationId().equals("okta")) {
parameters.set(OAuth2ParameterNames.CLIENT_ID, "my-client");
}
return parameters;
};

RestClientClientCredentialsTokenResponseClient accessTokenResponseClient =
new RestClientClientCredentialsTokenResponseClient();
accessTokenResponseClient.setParametersConverter(parametersConverter);

return accessTokenResponseClient;
}

private static Converter<OAuth2ClientCredentialsGrantRequest, MultiValueMap<String, String>> parametersConverter() {
RequestMatcher requestMatcher = (request) -> false;
return (grantRequest) -> {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
LinkedMultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
if (requestMatcher.matches(requestAttributes.getRequest())) {
parameters.set(OAuth2ParameterNames.SCOPE, "scope-1 scope-2");
}
return parameters;
};
}

@Bean
public RestClient restClient() {
OAuth2AccessTokenResponseHttpMessageConverter messageConverter =
new OAuth2AccessTokenResponseHttpMessageConverter();
messageConverter.setAccessTokenResponseConverter((parameters) -> {
// ...
return OAuth2AccessTokenResponse.withToken("custom-token")
// ...
.build();
});

return RestClient.builder()
.messageConverters((messageConverters) -> {
messageConverters.clear();
messageConverters.add(new FormHttpMessageConverter());
messageConverters.add(messageConverter);
})
.defaultStatusHandler(new OAuth2ErrorResponseErrorHandler())
.build();
}

}

0 comments on commit bb9baaf

Please sign in to comment.