Vzdálené stahování JWK v jose4j přes HTTP proxy
Připojte k HttpsJwks instanci Get, která zná proxy, a ponechte nakonfigurovanou instanci sady klíčů pro její mezipaměť a pozdější obnovení.
Načítač vzdálené sady klíčů v jose4j má vlastní objekt pro HTTP načítání. Nakonfigurujte tento objekt, když aplikace může volat API, ale nemůže stáhnout JSON Web Keys vydavatele.
API jose4j 0.9.6 nabízí Get.setHttpProxy a 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);Tento nakonfigurovaný objekt jwks použijte v uspořádání pro rozlišení klíčů v aplikaci. Vytvoření vedle stávajícího resolveru nemění druhou instanci tohoto resolveru.
Get používá URL a HttpsURLConnection. Explicitní Proxy se předává do URL.openConnection(Proxy); tím se trasa omezí na tento načítač, místo aby vyžadovala novou proxy politiku pro celou JVM. Ověřování proxy, pokud je potřeba, je další transportní záležitost. Schválená veřejně dostupná URL vydavatele může použít HTTP adresu ze seznamu HTTP proxy, pokud jsou veřejní zprostředkovatelé povoleni a není nakonfigurován proxy účet.
HttpsJwks ukládá klíče do mezipaměti pro každou instanci na základě hlaviček mezipaměti a nastavení výchozí doby ukládání. Ponechte instanci, abyste tento přínos získali. Již uložený klíč může ověření umožnit pokračovat bez síťového provozu, zatímco pozdější načtení nebo obnovení stále závisí na nakonfigurované trase.
Tímto se konfiguruje načítání klíčů. Ověření tokenu stále potřebuje obvyklou politiku aplikace pro podpis, vydavatele, publikum a další kontroly; samotné získání sady JSON klíčů tyto kontroly neprovádí.