Spring Reactive Oauth2 Webclient not using configured proxy

This page summarizes the projects mentioned and recommended in the original post on /r/javahelp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • oauth

    @Configuration public class GithubProxyConfig { private static final Logger LOGGER = Logger.getLogger(GithubProxyConfig.class); @Bean("githubClientRegistrationRepository") public ReactiveClientRegistrationRepository githubClientRegistrationRepository() { ClientRegistration registration = ClientRegistration .withRegistrationId("github") .clientId("ID") .clientSecret("SECRET") .redirectUri("https://oauth-service/api/login/oauth2/code/github") .authorizationUri("https://github.com/login/oauth/authorize") .tokenUri("https://github.com/login/oauth/access_token") .userInfoUri("https://api.github.com/user") .userNameAttributeName("login") .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .build(); return new InMemoryReactiveClientRegistrationRepository(registration); } @Primary @Bean @DependsOn(value = {"githubClientRegistrationRepository"}) public AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientServiceReactiveOAuth2AuthorizedClientManager( @Qualifier("githubClientRegistrationRepository") ReactiveClientRegistrationRepository clientRegistrations, WebClientBuilderFactory webClientBuilderFactory ) throws SSLException { WebClient webClient = webClientBuilderFactory .newBuilder(LOGGER, "Github Client") .clientConnector(sslConnectorFrom("60.32.59.68", 8080)) .build(); InMemoryReactiveOAuth2AuthorizedClientService authorizedClientService = new InMemoryReactiveOAuth2AuthorizedClientService(clientRegistrations); AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager = new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(clientRegistrations, authorizedClientService); authorizedClientManager.setAuthorizedClientProvider(createAuthorizedClientProvider(webClient)); ServerOAuth2AuthorizedClientExchangeFilterFunction oauth2FilterFunction = new ServerOAuth2AuthorizedClientExchangeFilterFunction( authorizedClientManager ); oauth2FilterFunction.setDefaultClientRegistrationId("github"); return authorizedClientManager; } private ReactiveOAuth2AuthorizedClientProvider createAuthorizedClientProvider(WebClient webClient) { WebClientReactiveClientCredentialsTokenResponseClient clientCredentialsTokenResponseClient = new WebClientReactiveClientCredentialsTokenResponseClient(); clientCredentialsTokenResponseClient.setWebClient(webClient); return ReactiveOAuth2AuthorizedClientProviderBuilder.builder() .clientCredentials(builder -> builder.accessTokenResponseClient(clientCredentialsTokenResponseClient)) .build(); } }

  • Spring Security

    Spring Security

    When i start the flow, no proxy is used and even the WebClient is not used to get access token. And i get a timeout exception for that. The same issue was discussed in Github: https://github.com/spring-projects/spring-security/issues/8966

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts