Lawrlwytho JWK o bell jose4j drwy brocsi HTTP
Cysylltwch achos Get sy'n ymwybodol o'r procsi â HttpsJwks a chadwch yr achos cyfluniad y set allweddi ar gyfer ei gronfa a'i adnewyddiadau hwyrach.
Mae gan lwythwr set allweddi o bell jose4j ei wrthrych adalw HTTP ei hun. Ffurfweddwch y gwrthrych hwnnw pan all y rhaglen alw API ond na all lawrlwytho JSON Web Keys y dyroddwr.
Mae API jose4j 0.9.6 yn datgelu Get.setHttpProxy a 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);Defnyddiwch y gwrthrych jwks hwn yn nhrefniant datrys allweddi'r rhaglen. Nid yw ei greu wrth ymyl datryswr presennol yn newid achos arall y datryswr.
Mae Get yn defnyddio URL a HttpsURLConnection. Rhoddir y Proxy penodol i URL.openConnection(Proxy); mae hyn yn cyfyngu'r llwybr i'r llwythwr hwn yn hytrach na gofyn am bolisi procsi newydd i'r JVM gyfan. Mae dilysu procsi, os oes ei angen, yn fater cludo ychwanegol. Gall URL dyroddwr cymeradwy sy'n hygyrch yn gyhoeddus ddefnyddio cyfeiriad HTTP o'r rhestr procsi HTTP pan ganiateir cyfryngwyr cyhoeddus ac nad oes cyfrif procsi wedi'i ffurfweddu.
Mae HttpsJwks yn cache allweddi fesul achos, yn seiliedig ar benawdau'r gronfa a'i osodiad hyd y gronfa diofyn. Cadwch yr achos i gael y budd hwnnw. Gall allwedd sydd eisoes yn y gronfa adael i'r dilysu barhau heb ddefnyddio'r rhwydwaith, tra bod adalw neu adnewyddu hwyrach yn dal i ddibynnu ar y llwybr cyfluniad.
Mae hyn yn ffurfweddu adalw allweddi. Mae dilysu tocyn yn dal i fod angen polisi dilysu arferol y rhaglen ar gyfer llofnod, dyroddwr, cynulleidfa a gwiriadau eraill; nid yw cael set allweddi JSON ar ei ben ei hun yn gwneud y gwiriadau hynny.