jose4j-ren urruneko gako-multzoaren kargatzaileak bere HTTP berreskuratze objektua du. Konfiguratu objektu hori aplikazioak API bat deitu dezakeenean baina igorlearen JSON Web Keys ezin dituenean deskargatu.

jose4j 0.9.6 APIak Get.setHttpProxy eta HttpsJwks.setSimpleHttpGet eskaintzen ditu:

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);

Erabili konfiguratutako jwks objektu hau aplikazioaren gakoen ebazpenaren antolamenduan. Lehendik dagoen ebaztaile baten ondoan sortzeak ez du ebaztailearen beste instantzia aldatzen.

Get-ek URL eta HttpsURLConnection erabiltzen ditu. Proxy esplizitua URL.openConnection(Proxy)-ri pasatzen zaio; horrek ibilbidea kargatzaile honetara mugatzen du, JVM osorako proxy politika berria eskatzearen ordez. Proxyaren autentifikazioa, behar izanez gero, garraio-kontu gehigarria da. Onartutako eta publikoki irisgarria den igorle URL batek HTTP proxy zerrendako HTTP helbidea erabil dezake, bitartekari publikoak onartuta daudenean eta proxy konturik konfiguratuta ez dagoenean.

HttpsJwks-ek gakoak instantzia bakoitzeko cachean gordetzen ditu, cache goiburuetan eta cachearen iraupen lehenetsiaren ezarpenean oinarrituta. Mantendu instantzia abantaila hori lortzeko. Dagoeneko cachean gordetako gako batek balidazioak sarea erabili gabe jarrai dezan ahalbidetu dezake, baina geroagoko berreskuratzeak edo eguneraketak konfiguratutako ibilbidearen mende jarraitzen du.

Honek gakoen berreskuratzea konfiguratzen du. Tokenaren balidazioak oraindik aplikazioaren sinadura, igorle, audientzia eta bestelako egiaztapen politika arrunta behar du; JSON gako-multzo bat lortzeak bakarrik ez ditu egiaztapen horiek egiten.

Erlazionatutako artikuluak