Eng Ressource WebClient, déi iwwer e Proxy geet, kann nach virun hirem API-Opruff feelen, wann d'Tokenbeschafung en anere Connector benotzt. Fir de reaktive client_credentials-Floss a Spring Security 6.5 verbënnt all dräi Deeler:

HttpClient route = HttpClient.create()
    .proxy(p -> p.type(ProxyProvider.Proxy.HTTP)
        .host("proxy.example").port(8080));
WebClient tokenHttp = WebClient.builder()
    .clientConnector(new ReactorClientHttpConnector(route))
    .build();

var tokens = new WebClientReactiveClientCredentialsTokenResponseClient();
tokens.setWebClient(tokenHttp);

var provider = new ClientCredentialsReactiveOAuth2AuthorizedClientProvider();
provider.setAccessTokenResponseClient(tokens);

var manager = new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(
    registrations, authorizedClients);
manager.setAuthorizedClientProvider(provider);

tokens.setWebClient weist den Token-HTTP-Client zou; provider.setAccessTokenResponseClient weist en dem Grant-Provider zou; manager.setAuthorizedClientProvider installéiert dee Provider. Benotzt dëse Manager am tatsächlechen OAuth-Filter oder am authorized-client-Workflow.

HttpClient an ProxyProvider si Reactor-Netty-Typen. WebClient an säi Connector si Spring-WebFlux-Typen. Gitt den existéierenden ReactiveClientRegistrationRepository als registrations an den ReactiveOAuth2AuthorizedClientService als authorizedClients.

Dëse Provider behandelt client_credentials; behält eng passend Providerkette, wann aner Grants noutwenneg sinn. D'Beispill huet kee Proxykont; dat géif zum Transport gehéieren an net zum OAuth client ID/secret. Fir en ëffentlechen Token-Endpunkt, deen iwwer en ëffentlechen Intermédiaire erlaabt ass, wielt Host a Port aus der HTTP-Proxy-Lëscht.

Konfiguréiert och den Connector vun der geschützter Ressource, wann déi API-Opruff d'Streck brauchen. Token- an API-Erfolleg sinn getrennt Resultater.

Ähnlech Artikelen