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 कुञ्जी-सेट प्राप्त गर्नाले ती जाँचहरू गर्दैन।

सम्बन्धित लेखहरू