jose4j attālinātās JWK lejupielādes caur HTTP starpniekserveri
Savienojiet starpniekserveri apzinošo Get eksemplāru ar HttpsJwks un saglabājiet konfigurēto atslēgu kopas eksemplāru tā kešatmiņai un vēlākām atjaunošanām.
jose4j attālinātās atslēgu kopas ielādētājam ir savs HTTP iegūšanas objekts. Konfigurējiet šo objektu, kad lietojumprogramma var izsaukt API, bet nevar lejupielādēt izdevēja JSON Web Keys.
jose4j 0.9.6 API piedāvā Get.setHttpProxy un 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);Izmantojiet šo konfigurēto jwks objektu lietojumprogrammas atslēgu risināšanas shēmā. Tā izveide blakus esošajam risinātājam nemaina citu šī risinātāja eksemplāru.
Get izmanto URL un HttpsURLConnection. Skaidrais Proxy tiek nodots URL.openConnection(Proxy); tas ierobežo maršrutu ar šo ielādētāju, nevis pieprasa jaunu visai JVM starpniekservera politiku. Starpniekservera autentifikācija, ja nepieciešama, ir papildu transporta jautājums. Apstiprināts publiski sasniedzams izdevēja URL var izmantot HTTP adresi no HTTP starpniekserveru saraksta, ja publiskie starpnieki ir atļauti un starpniekservera konts nav konfigurēts.
HttpsJwks kešatmiņā glabā atslēgas katram eksemplāram, pamatojoties uz kešatmiņas galvenēm un noklusējuma kešatmiņas ilguma iestatījumu. Saglabājiet eksemplāru, lai iegūtu šo priekšrocību. Jau kešatmiņā esoša atslēga var ļaut validācijai turpināties bez tīkla izmantošanas, savukārt vēlāka iegūšana vai atjaunošana joprojām ir atkarīga no konfigurētā maršruta.
Tas konfigurē atslēgu iegūšanu. Pilnvaras validācijai joprojām ir nepieciešama parastā lietojumprogrammas paraksta, izdevēja, auditorijas un citu pārbaužu politika; tikai JSON atslēgu kopas iegūšana šīs pārbaudes neveic.