Olùgbé key-set jìnnà ti jose4j ní ohun HTTP tirẹ̀ fún gbígbà. Ṣètò ohun yẹn nígbà tí ohun èlò náà lè pe API ṣùgbọ́n kò lè gbà JSON Web Keys ti olùgbéjáde.

API jose4j 0.9.6 ń pèsè Get.setHttpProxy àti 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);

Lo ohun jwks tí a ṣètò yìí nínú ètò ìyọnnú kọ́kọ́rọ́ ti ohun èlò náà. Dídá a lẹ́gbẹ̀ẹ́ olùyọnnú tó wà tẹ́lẹ̀ kò yí ẹ̀yà mìíràn ti olùyọnnú yẹn padà.

Get ń lo URL àti HttpsURLConnection. A ń fi Proxy tó ṣe kedere ránṣẹ́ sí URL.openConnection(Proxy); èyí ń fi ọ̀nà náà mọ́ olùgbé yìí dípò kí ó béèrè fún ìlànà aṣojú tuntun fún gbogbo JVM. Ìjẹ́rìí aṣojú, tí ó bá yẹ, jẹ́ ọ̀rọ̀ gbígbé àfikún. URL olùgbéjáde tí a fọwọ́ sí tí gbogbo ènìyàn lè dé lè lo àdírẹ́sì HTTP láti àkójọ aṣojú HTTP nígbà tí a bá gba àwọn alárinà gbogbogbò laaye tí a kò sì ṣètò àkọsílẹ̀ aṣojú.

HttpsJwks ń fi kọ́kọ́rọ́ pamọ́ sínú cache fún ẹ̀yà kọ̀ọ̀kan, ní ìbámu pẹ̀lú àwọn àkọlé cache àti ètò ìgbà cache àkọ́kọ́ rẹ̀. Pa ẹ̀yà náà mọ́ láti rí àǹfààní yẹn. Kọ́kọ́rọ́ tí a ti fi pamọ́ sínú cache lè jẹ́ kí ìjẹ́rìí tẹ̀síwájú láìlo nẹ́tíwọ́kì, nígbà tí gbígbà tàbí ìmúdọ̀tun tó ń bọ̀ ṣì sinmi lórí ọ̀nà tí a ṣètò.

Èyí ń ṣètò gbígbà kọ́kọ́rọ́. Ìjẹ́rìí token ṣì nílò ìlànà ìjẹ́rìí déédéé ti ohun èlò náà fún ìbuwọ́lu, olùgbéjáde, àwùjọ àti àwọn àyẹ̀wò mìíràn; gbígbà àkójọ kọ́kọ́rọ́ JSON nìkan kò ṣe àwọn àyẹ̀wò yẹn.

Àwọn àpilẹ̀kọ tó jọra