බ්‍රවුසරය අනන්‍යතා සපයන්නා වෙත ළඟා වේ, පසුව යෙදුම නැවත ලැබුණු අවසර කේතය හුවමාරු කරන විට පිවිසීම අසාර්ථක වේ. එම හුවමාරුව යෙදුම් සේවාදායකයෙන් පිටතට යන ඉල්ලීමකි, එහිම HTTP සේවාලාභියෙක් ඇත.

Spring Security 6.5 හි ඇති RestClient පාදක API සඳහා, අවසර කේත ටෝකන් ප්‍රතිචාර සේවාලාභියාට proxy දන්නා ඉල්ලීම් කර්මාන්තශාලාවක් දෙන්න:

SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example", 8080)));
factory.setConnectTimeout(5000);
factory.setReadTimeout(15000);

RestClient tokenHttp = RestClient.builder()
    .requestFactory(factory)
    .messageConverters(converters -> {
        converters.clear();
        converters.add(new FormHttpMessageConverter());
        converters.add(new OAuth2AccessTokenResponseHttpMessageConverter());
    })
    .defaultStatusHandler(new OAuth2ErrorResponseErrorHandler())
    .build();

RestClientAuthorizationCodeTokenResponseClient tokenClient =
    new RestClientAuthorizationCodeTokenResponseClient();
tokenClient.setRestClient(tokenHttp);

පරිවර්තක සහ දෝෂ හසුරුවන පන්ති Spring Security හි ලේඛනගත ටෝකන් ඉල්ලීම් හැසිරීම රඳවා ගනී. සම්බන්ධ නොවන JSON API එකකට පමණක් වින්‍යාස කළ සාමාන්‍ය RestClient සමාන ආදේශකයක් නොවේ.

එම tokenClient ම පවතින ආරක්ෂක වින්‍යාසයට සම්බන්ධ කරන්න:

http.oauth2Login(login -> login
    .tokenEndpoint(token -> token
        .accessTokenResponseClient(tokenClient)));

මේවා දැනටමත් සේවාලාභී ලියාපදිංචිය සහ SecurityFilterChain ඇති යෙදුමක් සඳහා වින්‍යාස කොටස් වේ. ඒවා සත්‍යාපනයක් නොමැති HTTP proxy තෝරයි; අක්තපත්‍ර අවශ්‍ය proxy එකකට තෝරාගත් ප්‍රවාහනයේ ගැළපෙන සත්‍යාපන වින්‍යාසය අවශ්‍ය වේ. අනුමත පොදු මාර්ගයක පොදුවේ ළඟා විය හැකි HTTPS ටෝකන් අන්ත ලක්ෂ්‍යයක් සඳහා, HTTP proxy ලැයිස්තුවෙන් HTTP සටහනක් එම ගිණුම් රහිත proxy ලිපිනය පිරවිය හැක.

proxy සත්කාරකය එහි තොටුපොළ සහ URL ක්‍රමයෙන් වෙන් කර තබන්න. අනන්‍යතා සපයන්නාගේ ටෝකන් URI ගමනාන්තය ලෙස තබන්න. මෙම උදාහරණය සහතික සත්‍යාපනය ආදේශ නොකරයි.

පසුව එන ඉල්ලීම්වලට තමන්ගේම හිමිකාරිත්ව පරීක්ෂාවක් අවශ්‍ය වේ. UserInfo ලබා ගැනීම, නැවුම් කිරීමේ ටෝකන් හුවමාරු, client-credentials ප්‍රදාන සහ ආරක්ෂිත API ඇමතුම් වෙනත් සේවාලාභී වස්තූන් භාවිත කළ හැක. එම ක්‍රියාවට ද මාර්ගය අවශ්‍ය විට අදාළ සහාය දක්වන සේවාලාභියා වින්‍යාස කරන්න. Spring Security 6.5 හි ප්‍රතික්‍රියාශීලී client_credentials ප්‍රවාහය සඳහා, ප්‍රතික්‍රියාශීලී ටෝකන් සේවාලාභියා සහ එහි ප්‍රදාන සපයන්නා වෙන් වෙන්ව වින්‍යාස කරන්න.

OAuth2RestTemplate සහ AccessTokenProvider භාවිත කරන පැරණි උදාහරණ පැරණි Spring Security OAuth ව්‍යාපෘතියට අයත් වේ. කේතය අනුවර්තනය කිරීමට පෙර ස්ථාපිත යෙදුම භාවිත කරන API තෝරන්න; එම වස්තූන් මෙම වින්‍යාසයට මිශ්‍ර නොකරන්න.

අදාළ ලිපි