د پراکسي له لارې تېرېدونکی سرچینه 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 ته اړتیا وي مناسب د چمتو کوونکو زنځیر وساتئ. بېلګه پراکسي حساب نه لري؛ هغه به د لېږد پوړ وي نه د OAuth client ID/secret. د عام منځګړي له لارې اجازه شوي عام token endpoint لپاره له HTTP پراکسي لیست څخه host او port وټاکئ.

کله چې هغه API غوښتنو ته لاره ورته وي، د ساتل شوې سرچینې نښلوونکې هم تنظیم کړئ. د ټوکن او API بریا جلا پایلې دي.

اړوندې مقالې