jose4j: fjirde JWK-downloads fia in HTTP-proxy
Keppelje in proxybewuste Get-ynstânsje oan HttpsJwks en hâld de konfigurearre kaaiset-ynstânsje foar syn cache en lettere fernijingen.
De lader foar fjirde kaaisets fan jose4j hat syn eigen HTTP-ophaalobjekt. Konfigurearje dat objekt as de applikaasje in API oanroppe kin mar de JSON Web Keys fan de útjouwer net downloade kin.
De API fan jose4j 0.9.6 biedt Get.setHttpProxy en 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);Brûk dit konfigurearre jwks-objekt yn 'e kaai-oplossing fan 'e applikaasje. It oanmeitsjen njonken in besteande resolver feroaret de oare ynstânsje fan 'e resolver net.
Get brûkt URL en HttpsURLConnection. De eksplisite Proxy wurdt trochjûn oan URL.openConnection(Proxy); dat beheint de rûte ta dizze lader ynstee fan in nij JVM-breed proxybelied te easkjen. Proxy-autentikaasje is, as nedich, in ekstra transportkwestje. In goedkarde iepenbier berikbere útjouwer-URL kin in HTTP-adres út 'e HTTP-proxylist brûke as iepenbiere tuskenpersoanen tastien binne en der gjin proxy-account konfigurearre is.
HttpsJwks cachet kaaien per ynstânsje, op basis fan cache-headers en syn ynstelling foar standert cachedoer. Hâld de ynstânsje om dat foardiel te krijen. In al cachet kaai kin de falidaasje trochgean litte sûnder it netwurk te brûken, wylst in lettere ophaling of fernijing noch altyd fan 'e konfigurearre rûte ôfhinget.
Dit konfigurearret kaai-ophaling. Token-falidaasje hat noch altyd it gewoane belied fan 'e applikaasje foar hantekening, útjouwer, publyk en oare kontrôles nedich; it krijen fan in JSON-kaaiset allinne fiert dy kontrôles net út.