Foraj JWK-elŝutoj de jose4j tra HTTP-prokurilo
Konektu prokurilan Get-instancon al HttpsJwks kaj retenu la agorditan ŝlosilaran instancon por ĝia kaŝmemoro kaj postaj refreŝigoj.
La ŝargilo de foraj ŝlosilaroj de jose4j havas propran HTTP-elprenan objekton. Agordu tiun objekton kiam la aplikaĵo povas voki API sed ne povas elŝuti la JSON Web Keys de la eldonanto.
La API de jose4j 0.9.6 eksponas Get.setHttpProxy kaj 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);Uzu ĉi tiun agorditan jwks-objekton en la ŝlosilreza agordo de la aplikaĵo. Krei ĝin apud ekzistanta solvilo ne ŝanĝas la alian instancon de la solvilo.
Get uzas URL kaj HttpsURLConnection. La eksplicita Proxy estas pasata al URL.openConnection(Proxy); tio limigas la itineron al ĉi tiu ŝargilo anstataŭ postuli novan prokuran politikon por la tuta JVM. Prokura aŭtentikigo, se bezonata, estas plia transporta afero. Aprobita publike atingebla eldonanta URL povas uzi HTTP-adreson el la HTTP-prokura listo kiam publikaj perantoj estas permesataj kaj neniu prokura konto estas agordita.
HttpsJwks kaŝmemorigas ŝlosilojn laŭ instanco, surbaze de kaŝmemoraj kaplinioj kaj ĝia agordo pri defaŭlta kaŝmemora daŭro. Retenu la instancon por akiri tiun avantaĝon. Jam kaŝmemorigita ŝlosilo povas lasi la validigon daŭri sen uzi la reton, dum posta elpreno aŭ refreŝigo ankoraŭ dependas de la agordita itinero.
Ĉi tio agordas ŝlosilelprenon. Tokena validigo ankoraŭ bezonas la kutiman politikon de la aplikaĵo pri subskribo, eldonanto, publiko kaj aliaj kontroloj; akiri nur JSON-ŝlosilaron ne plenumas tiujn kontrolojn.