jose4j দূরবর্তী JWK ডাউনলোড HTTP প্রক্সির মাধ্যমে
HttpsJwks-এ প্রক্সি-সচেতন Get ইনস্ট্যান্স সংযুক্ত করুন এবং এর ক্যাশ ও পরবর্তী রিফ্রেশের জন্য কনফিগার করা কী-সেট ইনস্ট্যান্সটি ব্যবহারে রাখুন।
jose4j-এর দূরবর্তী কী-সেট লোডারের নিজস্ব HTTP সংগ্রহের অবজেক্ট রয়েছে। যখন অ্যাপ্লিকেশন একটি API কল করতে পারে কিন্তু ইস্যুয়ারের JSON Web Keys ডাউনলোড করতে পারে না, তখন সেই অবজেক্টটি কনফিগার করুন।
jose4j 0.9.6 API Get.setHttpProxy এবং HttpsJwks.setSimpleHttpGet প্রকাশ করে:
org.jose4j.http.Get downloader = new org.jose4j.http.Get();
downloader.setHttpProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
downloader.setConnectTimeout(5000);
downloader.setReadTimeout(15000);
org.jose4j.jwk.HttpsJwks jwks = new org.jose4j.jwk.HttpsJwks(
"https://issuer.example/keys");
jwks.setSimpleHttpGet(downloader);এই কনফিগার করা jwks অবজেক্টটি অ্যাপ্লিকেশনের কী-রিজলিউশন ব্যবস্থায় ব্যবহার করুন। একটি বিদ্যমান রিজলভারের পাশে এটি তৈরি করলে রিজলভারের অন্য ইনস্ট্যান্সটি বদলায় না।
Get URL এবং HttpsURLConnection ব্যবহার করে। স্পষ্ট Proxy URL.openConnection(Proxy)-তে পাঠানো হয়; এটি নতুন JVM-ব্যাপী প্রক্সি নীতি দাবি না করে রুটটিকে এই লোডারেই সীমাবদ্ধ করে। প্রক্সি প্রমাণীকরণ, যদি প্রয়োজন হয়, একটি অতিরিক্ত পরিবহন বিষয়। অনুমোদিত সর্বজনীনভাবে পৌঁছানো যায় এমন ইস্যুয়ার URL HTTP প্রক্সি তালিকা থেকে একটি HTTP ঠিকানা ব্যবহার করতে পারে, যখন সর্বজনীন মধ্যস্থতাকারী অনুমোদিত এবং কোনো প্রক্সি অ্যাকাউন্ট কনফিগার করা নেই।
HttpsJwks ক্যাশ হেডার এবং তার ডিফল্ট-ক্যাশ-সময়কাল সেটিংয়ের ভিত্তিতে প্রতি ইনস্ট্যান্সে কী ক্যাশ করে। সেই সুবিধা পেতে ইনস্ট্যান্সটি ধরে রাখুন। ইতিমধ্যে ক্যাশ করা কী নেটওয়ার্ক ব্যবহার না করেই বৈধতা যাচাই চালিয়ে যেতে দিতে পারে, অন্যদিকে পরবর্তী সংগ্রহ বা রিফ্রেশ এখনও কনফিগার করা রুটের উপর নির্ভর করে।
এটি কী সংগ্রহ কনফিগার করে। টোকেন বৈধতা যাচাইয়ের জন্য এখনও অ্যাপ্লিকেশনের স্বাভাবিক স্বাক্ষর, ইস্যুয়ার, অডিয়েন্স এবং অন্যান্য যাচাই নীতি প্রয়োজন; কেবল একটি JSON কী-সেট পাওয়া সেই পরীক্ষাগুলি সম্পাদন করে না।