proxy හරහා යන සම්පතක් WebClient ටෝකන් ලබාගැනීම වෙනත් කනෙක්ටරයක් භාවිත කරන්නේ නම් API ඇමතුමට පෙර අසාර්ථක විය හැක. Spring Security 6.5 හි ප්‍රතික්‍රියාශීලී client_credentials ප්‍රවාහය සඳහා කොටස් තුනම සම්බන්ධ කරන්න:

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 ටෝකන් HTTP සේවාදායකය පවරයි; provider.setAccessTokenResponseClient එය grant සපයන්නාට පවරයි; manager.setAuthorizedClientProvider එම සපයන්නා ස්ථාපනය කරයි. මෙම කළමනාකරු සැබෑ OAuth පෙරහනේ හෝ authorized-client කාර්ය ප්‍රවාහයේ භාවිත කරන්න.

HttpClient සහ ProxyProvider Reactor Netty වර්ග වේ. WebClient සහ එහි කනෙක්ටරය Spring WebFlux වර්ග වේ. පවතින ReactiveClientRegistrationRepository registrations ලෙසත් ReactiveOAuth2AuthorizedClientService authorizedClients ලෙසත් ලබා දෙන්න.

මෙම සපයන්නා client_credentials හසුරුවයි; වෙනත් grant අවශ්‍ය නම් සුදුසු සපයන්නා දාමයක් තබා ගන්න. උදාහරණයේ proxy ගිණුමක් නැත; එය OAuth client ID/secret නොව ප්‍රවාහන ස්තරයට අයත් වේ. පොදු අතරමැදියෙකු හරහා අවසර ලද පොදු token endpoint එකක් සඳහා HTTP proxy ලැයිස්තුවවෙන් host සහ port තෝරන්න.

එම API ඇමතුම්වලට මාර්ගය අවශ්‍ය විට ආරක්ෂිත සම්පතේ කනෙක්ටරය ද වින්‍යාස කරන්න. ටෝකන් සාර්ථකත්වය සහ API සාර්ථකත්වය වෙන වෙනම ප්‍රතිඵල වේ.

අදාළ ලිපි