Vzdialené sťahovanie JWK v jose4j cez HTTP proxy
Pripojte k HttpsJwks inštanciu Get, ktorá pozná proxy, a ponechajte nakonfigurovanú inštanciu sady kľúčov pre jej vyrovnávaciu pamäť a neskoršie obnovenia.
Načítavač vzdialenej sady kľúčov v jose4j má vlastný objekt na získavanie cez HTTP. Nakonfigurujte tento objekt, keď aplikácia môže volať API, ale nedokáže stiahnuť JSON Web Keys vydavateľa.
API jose4j 0.9.6 ponúka 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žite v usporiadaní riešenia kľúčov aplikácie. Jeho vytvorenie vedľa existujúceho resolvera nemení druhú inštanciu tohto resolvera.
Get používa URL a HttpsURLConnection. Explicitný Proxy sa odovzdáva do URL.openConnection(Proxy); tým sa trasa obmedzí na tento načítač namiesto vyžadovania novej proxy politiky pre celú JVM. Overovanie proxy, ak je potrebné, je ďalšia transportná záležitosť. Schválená verejne dostupná URL vydavateľa môže použiť HTTP adresu zo zoznamu HTTP proxy, ak sú verejní sprostredkovatelia povolení a nie je nakonfigurovaný proxy účet.
HttpsJwks ukladá kľúče do vyrovnávacej pamäte pre každú inštanciu na základe hlavičiek vyrovnávacej pamäte a nastavenia predvoleného trvania. Ponechajte inštanciu, aby ste získali túto výhodu. Už uložený kľúč môže umožniť overovaniu pokračovať bez použitia siete, zatiaľ čo neskoršie získanie alebo obnovenie stále závisí od nakonfigurovanej trasy.
Toto konfiguruje získavanie kľúčov. Overenie tokenu stále potrebuje obvyklú politiku aplikácie pre podpis, vydavateľa, publikum a ďalšie kontroly; samotné získanie sady JSON kľúčov tieto kontroly nevykonáva.