আগত bearer অনুরোধ রিসোর্স সার্ভারে পৌঁছাতে পারে, কিন্তু JWT যাচাই বহির্গামী JWK ডাউনলোডে ব্যর্থ হয়। ওই ডিকোডার যে HTTP ক্লায়েন্ট ব্যবহার করে তা কনফিগার করুন:

var factory = new org.springframework.http.client.SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example", 8080)));
var rest = new org.springframework.web.client.RestTemplate(factory);

var decoder = org.springframework.security.oauth2.jwt.NimbusJwtDecoder
    .withJwkSetUri(jwkSetUri)
    .restOperations(rest)
    .build();
decoder.setJwtValidator(
    org.springframework.security.oauth2.jwt.JwtValidators
        .createDefaultWithIssuer(issuer));

অ্যাপ্লিকেশনের প্রকৃত jwkSetUri ও issuer ব্যবহার করুন এবং এই ডিকোডারটি প্রকৃত রিসোর্স-সার্ভার কনফিগারেশনে ইনস্টল করুন। উদাহরণটি servlet-ধাঁচের Nimbus ডিকোডারের সঙ্গে একটি অনুমোদনহীন HTTP প্রক্সি ব্যবহার করে। অনুমোদিত পাবলিক-প্রক্সি পথে থাকা পাবলিক JWK URL-এর জন্য HTTP প্রক্সি তালিকা সম্ভাব্য host ও port মান দেয়।

উদাহরণের issuer ভ্যালিডেটর প্রয়োজনীয় audience বা অন্যান্য অ্যাপ্লিকেশন পরীক্ষার বিকল্প নয়। স্বয়ংক্রিয়ভাবে কনফিগার করা ডিকোডার প্রতিস্থাপনের সময় সেগুলো সংরক্ষণ করুন; key-ডাউনলোড পথ বদলালে অ্যাপ্লিকেশন কোন টোকেন গ্রহণ করবে তা নির্ধারিত হয় না।

একটি reactive ডিকোডার অন্য ইন্টারফেস ব্যবহার করে। অন্য issuer-আবিষ্কার বা টোকেন-সংগ্রহ ক্লায়েন্টও নিজেদের পরিবহন কনফিগারেশন ধরে রাখে।

ক্যাশ করা key নতুন ডাউনলোড ছাড়াই যাচাই সফল করতে পারে। পথটি মূল্যায়নের সময় ব্যর্থ key URL এবং refresh বা initialization ধাপ সংরক্ষণ করুন।

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