Вчитувачот на далечинско множество клучеви на jose4j има свој HTTP објект за преземање. Конфигурирајте го тој објект кога апликацијата може да повика API, но не може да ги преземе JSON Web Keys на издавачот.

API-то на jose4j 0.9.6 ги нуди Get.setHttpProxy и 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);

Користете го овој конфигуриран jwks објект во поставеноста за разрешување клучеви на апликацијата. Неговото создавање покрај постоечки резолвер не го менува другиот пример на тој резолвер.

Get користи URL и HttpsURLConnection. Експлицитниот Proxy се предава на URL.openConnection(Proxy); тоа ја ограничува рутата на овој вчитувач наместо да бара нова прокси политика за целата JVM. Автентикацијата на прокси, ако е потребна, е дополнително транспортно прашање. Одобрен јавно достапен URL на издавач може да користи HTTP адреса од списокот на HTTP прокси кога јавните посредници се дозволени и не е конфигурирана прокси сметка.

HttpsJwks ги кешира клучевите по пример, врз основа на кеш-заглавијата и поставката за стандардно траење на кешот. Задржете го примерот за да ја добиете таа корист. Веќе кеширан клуч може да дозволи проверката да продолжи без користење на мрежата, додека подоцнежното преземање или освежување сè уште зависи од конфигурираната рута.

Ова го конфигурира преземањето на клучеви. Проверката на токенот сè уште бара вообичаената политика на апликацијата за потпис, издавач, публика и други проверки; само добивањето на JSON множество клучеви не ги извршува тие проверки.

Поврзани статии