Загрузчык аддаленага набору ключоў 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 не выконвае гэтых праверак.

Падобныя артыкулы