A jose4j távoli kulcskészlet-betöltőjének saját HTTP-lekérdező objektuma van. Akkor állítsa be ezt az objektumot, amikor az alkalmazás tud API-t hívni, de nem tudja letölteni a kibocsátó JSON Web Keys-eit.

A jose4j 0.9.6 API-ja a Get.setHttpProxy és a HttpsJwks.setSimpleHttpGet metódust kínálja:

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);

Ezt a beállított jwks objektumot használja az alkalmazás kulcsfeloldási elrendezésében. Egy meglévő feloldó mellé létrehozva nem változik meg a feloldó másik példánya.

A Get URL-t és HttpsURLConnectiont használ. Az explicit Proxy átadódik a URL.openConnection(Proxy) metódusnak; ez az útvonalat erre a betöltőre korlátozza, ahelyett hogy új, az egész JVM-re kiterjedő proxyházirendet igényelne. A proxyhitelesítés, ha szükséges, további átviteli kérdés. Egy jóváhagyott, nyilvánosan elérhető kibocsátó URL HTTP-címet használhat a HTTP-proxylistából, ha a nyilvános közvetítők engedélyezettek, és nincs beállítva proxyfiók.

A HttpsJwks példányonként gyorsítótárazza a kulcsokat, a gyorsítótár-fejlécek és az alapértelmezett gyorsítótár-időtartam beállítása alapján. Tartsa meg a példányt, hogy élvezhesse ezt az előnyt. Egy már gyorsítótárazott kulcs lehetővé teheti az érvényesítés folytatását hálózat használata nélkül, míg egy későbbi lekérés vagy frissítés továbbra is a beállított útvonaltól függ.

Ez a kulcslekérést állítja be. A token érvényesítéséhez továbbra is szükség van az alkalmazás szokásos aláírás-, kibocsátó-, célközönség- és egyéb érvényesítési házirendjére; egy JSON-kulcskészlet megszerzése önmagában nem végzi el ezeket az ellenőrzéseket.

Kapcsolódó cikkek