var transport = reactor.netty.http.client.HttpClient.create()
    .proxy(spec -> spec
        .type(reactor.netty.transport.ProxyProvider.Proxy.HTTP)
        .host("proxy.example")
        .port(8080));
var webClient = org.springframework.web.reactive.function.client.WebClient
    .builder()
    .clientConnector(new org.springframework.http.client.reactive
        .ReactorClientHttpConnector(transport))
    .build();

var decoder = org.springframework.security.oauth2.jwt.NimbusReactiveJwtDecoder
    .withJwkSetUri(jwkSetUri)
    .webClient(webClient)
    .build();
decoder.setJwtValidator(org.springframework.security.oauth2.jwt.JwtValidators
    .createDefaultWithIssuer(issuer));

বিশ্বস্ত jwkSetUri/issuer মান ব্যবহার করুন এবং এই ডিকোডারটি প্রকৃত ReactiveJwtDecoder বিন বা স্পষ্ট রিসোর্স-সার্ভার কনফিগারেশনের মাধ্যমে ইনস্টল করুন। অপরিবর্তিত সক্রিয় ডিকোডারের পাশে এটি তৈরি করলে কী সংগ্রহ পরিবর্তিত হয় না। যদি বিশ্বস্ত JWKS URL সর্বজনীন হয় এবং সর্বজনীন মধ্যস্থতাকারী অনুমোদিত হয়, তাহলে HTTP প্রক্সি তালিকা অ্যাকাউন্টহীন ট্রান্সপোর্ট হোস্ট ও পোর্টের জন্য প্রার্থী জোগায়।

প্রদর্শিত ভ্যালিডেটর ডিফল্ট সময় যাচাই ও issuer যাচাই রাখে। ডিকোডার প্রতিস্থাপনের সময় audience প্রয়োজনীয়তা এবং সব অতিরিক্ত অ্যাপ্লিকেশন ভ্যালিডেটর বজায় রাখুন।

একটি জানা কী URI এর অবস্থান খোঁজার জন্য ডিসকভারি এড়িয়ে যায়। যদি অন্য কোনো উপাদান এখনও ডিসকভারি বা টোকেন সংগ্রহ করে, তবে সেই ক্লায়েন্টের রুট আলাদাভাবে কনফিগার করুন।

এটি রিসোর্স সার্ভারে রিঅ্যাকটিভ JWT যাচাই কভার করে। Servlet রিসোর্স সার্ভার, OAuth2 লগইন এবং ব্যবসায়িক API ক্লায়েন্টের আলাদা হুক রয়েছে; ব্যর্থ কী URL ও ধাপটি তদন্তের সঙ্গে রাখুন।

সম্পর্কিত নিবন্ধ