Učitavač udaljenog skupa ključeva u jose4j ima vlastiti HTTP objekt za dohvat. Konfigurirajte taj objekt kada aplikacija može pozvati API, ali ne može preuzeti JSON Web Keys izdavatelja.

API jose4j 0.9.6 nudi Get.setHttpProxy i 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);

Koristite ovaj konfigurirani jwks objekt u rasporedu razrješavanja ključeva aplikacije. Njegovo stvaranje pokraj postojećeg resolvera ne mijenja drugu instancu tog resolvera.

Get koristi URL i HttpsURLConnection. Eksplicitni Proxy prosljeđuje se u URL.openConnection(Proxy); to ograničava rutu na ovaj učitavač umjesto da zahtijeva novu proxy politiku na razini cijele JVM. Autentifikacija proxyja, ako je potrebna, dodatna je transportna briga. Odobreni javno dostupni URL izdavatelja može koristiti HTTP adresu iz popisa HTTP proxyja kada su javni posrednici dopušteni i proxy račun nije konfiguriran.

HttpsJwks predmemorira ključeve po instanci, na temelju zaglavlja predmemorije i postavke zadanog trajanja predmemorije. Zadržite instancu da biste ostvarili tu korist. Već predmemorirani ključ može omogućiti da se provjera nastavi bez mrežnog pristupa, dok kasniji dohvat ili osvježavanje i dalje ovisi o konfiguriranoj ruti.

Ovo konfigurira dohvat ključeva. Provjera tokena i dalje zahtijeva uobičajenu politiku aplikacije za potpis, izdavatelja, publiku i druge provjere; samo dobivanje JSON skupa ključeva ne obavlja te provjere.

Povezani članci