jose4j-ի հեռավոր բանալիների հավաքածուի բեռնիչն ունի իր սեփական HTTP ստացման օբյեկտը։ Կարգավորեք այդ օբյեկտը, երբ հավելվածը կարող է կանչել API, բայց չի կարող ներբեռնել թողարկողի JSON Web Keys-ը։

jose4j 0.9.6 API-ն տրամադրում է 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 բանալիների հավաքածու ստանալը չի կատարում այդ ստուգումները։

Առնչվող հոդվածներ