jose4j యొక్క రిమోట్ JWK డౌన్లోడ్లు HTTP ప్రాక్సీ ద్వారా
ప్రాక్సీని తెలిసిన Get ఇన్స్టాన్స్ను HttpsJwksకు కనెక్ట్ చేయండి మరియు కాన్ఫిగర్ చేసిన కీ-సెట్ ఇన్స్టాన్స్ను దాని క్యాష్ మరియు తదుపరి రిఫ్రెష్ల కోసం ఉపయోగంలో ఉంచండి.
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 కీ-సెట్ పొందడం ఆ తనిఖీలను చేయదు.