We should align (Server|Servlet)OAuth2AuthorizedClientExchangeFilterFunction with OAuth2ClientHttpRequestInterceptor which introduces a ClientRegistrationIdResolver as a flexible strategy for resolving the clientRegistrationId for a given request. For WebClient-based ExchangeFilterFunctions, the interface could be:
@FunctionalInterface
public interface ClientRegistrationIdResolver {
@Nullable
String resolve(ClientRequest request);
}
Comment From: sjohnr
Note: When considering ServerOAuth2AuthorizedClientExchangeFilterFunction may need to return Mono<String>:
@FunctionalInterface
public interface ClientRegistrationIdResolver {
@Nullable
Mono<String> resolve(ClientRequest request);
}
Related gh-16284.