កម្មវិធីផ្ទុកសំណុំកូនសោពីចម្ងាយរបស់ jose4j មានវត្ថុទាញយក HTTP រៀងខ្លួន។ កំណត់វត្ថុនោះ នៅពេលកម្មវិធីអាចហៅ API បាន ប៉ុន្តែមិនអាចទាញយក JSON Web Keys របស់អ្នកចេញផ្សាយបាន។

API របស់ jose4j 0.9.6 ផ្តល់ 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 តែម្នាក់ឯងមិនធ្វើការត្រួតពិនិត្យទាំងនោះទេ។

អត្ថបទពាក់ព័ន្ធ