OAuth2 with spring-cloud-stream + reactive web?

Hello, can someone let me know if the following combination is supported?

  • Spring Boot 3.4.x
  • spring-boot-starter-oauth2-client using OAuth2 client credentials flow
  • Spring WebFlux (i.e., reactive stack — no spring-boot-starter-web)
  • spring-cloud-stream-binder-solace or solace-spring-boot-starter

I’m migrating an existing Solace app from Spring MVC to WebFlux. It uses OAuth2 to authenticate with Azure AD and connect to Solace brokers via the AUTHENTICATION_SCHEME_OAUTH2 JCSMP property.

I supply the token using a reactive ReactiveOAuth2AuthorizedClientManager, and I can provide a valid bearer token at runtime. However, the Solace starter fails during autoconfiguration because it requires a ClientRegistrationRepository and attempts to instantiate AuthorizedClientServiceOAuth2AuthorizedClientManager, which only exists in the servlet (non-reactive) security stack.

Is there a supported way to:

  • Use reactive OAuth2 client (WebClient + ReactiveClientRegistrationRepository)
  • Provide a token to the Solace binder without requiring servlet beans
  • Avoid dual-stacking both servlet and reactive web starters

If not yet supported, is there a recommended workaround or roadmap item for making Solace Spring Boot starters compatible with WebFlux + reactive OAuth2?

// Thank you

Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:

Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.

AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a :+1:. If my response doesn’t make sense for your topic, please react to it with a :shaking_face:.

Looking at the documentation, I need to analyze several aspects of this compatibility question:

  1. Spring Boot Version Support:
  • The latest Solace Spring Cloud version (4.6.0) supports Spring Boot 3.3.5
  • Spring Boot 3.4.x is not officially tested with Solace components yet
  1. OAuth2 Support:
  • OAuth2 client_credentials grant type support was introduced in Solace Spring Cloud Stream Binder v4.3.0 and higher
  1. WebFlux Integration:
  • There is no explicit information about WebFlux (reactive stack) compatibility with OAuth2 client and Solace Spring Cloud Stream binder

Given this analysis, I cannot provide a definitive answer about the full compatibility of this specific combination. Here’s why:

  1. Spring Boot 3.4.x is a newer version than what is officially tested (3.3.5)
  2. While OAuth2 support exists, there’s no specific information about its compatibility with WebFlux
  3. The integration between spring-boot-starter-oauth2-client using WebFlux and Solace components is not documented

I recommend checking the following sources for more information: