Spring NimbusJwtDecoder፦ የJWK ስብስብ ማውረዱን በፕሮክሲ ማስተላለፍ
ለሰርቭሌት ዲኮደሩ ፕሮክሲን የሚያውቅ RestTemplate ስጠው፣ እና አውቶማቲክ ውቅርን ሲተካ የissuer፣ audience እና ተጨማሪ የቶከን አረጋጋጮችን ጠብቅ።
ገቢ የbearer ጥያቄ ወደ ሪሶርስ ሰርቨር ሊደርስ ይችላል፣ ነገር ግን የJWT ማረጋገጫ በወጪ JWK ማውረድ ላይ ይወድቃል። በዚያ ዲኮደር የሚጠቀመውን HTTP ደንበኛ አዋቅር፦
var factory = new org.springframework.http.client.SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
var rest = new org.springframework.web.client.RestTemplate(factory);
var decoder = org.springframework.security.oauth2.jwt.NimbusJwtDecoder
.withJwkSetUri(jwkSetUri)
.restOperations(rest)
.build();
decoder.setJwtValidator(
org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));የመተግበሪያውን እውነተኛ jwkSetUri እና issuer ተጠቀም፣ እና ይህን ዲኮደር በእውነተኛው የሪሶርስ-ሰርቨር ውቅር ውስጥ ጫን። ምሳሌው ያልተረጋገጠ HTTP ፕሮክሲ ከservlet ዘይቤ Nimbus ዲኮደር ጋር ይጠቀማል። በተፈቀደ የህዝብ-ፕሮክሲ መንገድ ላይ ለሚገኝ የህዝብ JWK URL፣ የHTTP ፕሮክሲ ዝርዝር እጩ የአስተናጋጅ እና የፖርት እሴቶችን ያቀርባል።
በምሳሌው ያለው የissuer አረጋጋጭ ለሚፈለገው audience ወይም ለሌሎች የመተግበሪያ ምርመራዎች ምትክ አይደለም። በራስ-ሰር የተዋቀረ ዲኮደር ሲተካ እነዚህን ጠብቅ፤ የቁልፍ-ማውረድ መንገድን መቀየር መተግበሪያው የትኞቹን ቶከኖች መቀበል እንዳለበት አይወስንም።
ሪአክቲቭ ዲኮደር ሌላ በይነገጽ ይጠቀማል። ሌሎች የissuer ግኝት ወይም የቶከን ማግኛ ደንበኞችም የራሳቸውን የትራንስፖርት ውቅር ይይዛሉ።
የተሸጎጡ ቁልፎች አዲስ ማውረድ ሳይኖር ማረጋገጫው እንዲሳካ ሊያደርጉ ይችላሉ። መንገዱን ሲገመግሙ የተወደቀውን የቁልፍ URL እና የማደሻ ወይም የማስጀመሪያ ደረጃ ይያዙ።