Isilayishi sethi yokhiye esikude se-jose4j sinesinto saso sokuthola se-HTTP. Lungiselela leso sinto lapho uhlelo lungenza ikholi ye-API kodwa lungakwazi ukulanda ama-JSON Web Keys omkhiphi.

I-API ye-jose4j 0.9.6 iveza i-Get.setHttpProxy ne-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);

Sebenzisa le nto ye-jwks elungisiwe ohlelweni lokuxazulula okhiye lohlelo. Ukuyidala eduze kwesixazululi esikhona akushintshi enye i-instance yaleso sixazululi.

I-Get isebenzisa i-URL ne-HttpsURLConnection. I-Proxy ecacile idluliselwa ku-URL.openConnection(Proxy); lokhu kukhawulela indlela kulesi silayishi esikhundleni sokufuna inqubomgomo entsha ye-proxy yayo yonke i-JVM. Ukuqinisekiswa kwe-proxy, uma kudingeka, kuyindaba eyengeziwe yokuthutha. I-URL yomkhiphi egunyaziwe nefinyeleleka emphakathini ingasebenzisa ikheli le-HTTP elivela ohleni lwama-proxy e-HTTP lapho abaxhumanisi bomphakathi bevunyelwe futhi ingekho i-akhawunti ye-proxy elungisiwe.

I-HttpsJwks igcina okhiye ku-cache nge-instance ngayinye, ngokusekelwe kuzihloko ze-cache kanye nesilungiselelo sayo sobude be-cache esimisiwe. Gcina i-instance ukuze uthole leyo nzuzo. Ukhiye osugcinwe ku-cache ungavumela ukuqinisekisa ukuthi kuqhubeke ngaphandle kokusebenzisa inethiwekhi, kuyilapho ukulanda noma ukuhlaziya kwakamuva kusencike endleleni elungisiwe.

Lokhu kulungiselela ukutholwa kokhiye. Ukuqinisekiswa kwethokheni kusadinga inqubomgomo evamile yohlelo yokusayina, umkhiphi, izethameli nezinye izindlela zokuqinisekisa; ukuthola isethi yokhiye ye-JSON kuphela akwenzi lezo zivivinyo.

Izihloko ezihlobene