Spring NimbusJwtDecoder: soo dejinta JWK ee loo maro proxy
Siiso decoder-ka servlet RestTemplate garanaya proxy oo hayso issuer, audience iyo hubiyeyaasha token ee dheeraadka ah marka aad beddesho isku-duubidda otomaatiga ah.
Codsi bearer soo galaya wuxuu gaari karaa server-ka kheyraadka halka xaqiijinta JWT ku guuldareysato soo dejinta JWK ee dibadda. Habee macmiilka HTTP ee uu isticmaalo decoder-kaas:
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));Isticmaal jwkSetUri iyo issuer dhabta ah ee codsiga, kuna rakib decoder-kan isku-duubidda dhabta ah ee server-ka kheyraadka. Tusaaluhu wuxuu isticmaalaa proxy HTTP aan la xaqiijin oo leh decoder-ka Nimbus qaab servlet. URL JWK dadweyne oo ku yaal waddo proxy dadweyne oo la oggolaaday, liiska proxy HTTP wuxuu bixiyaa qiimayaasha host iyo port ee suurtogalka ah.
Hubiyaha issuer ee tusaalaha ma beddelo hubinta audience ee loo baahan yahay ama hubinta kale ee codsiga. Hayso kuwaas marka aad beddesho decoder si otomaatig ah loo habeeyay; beddelidda waddada soo dejinta fure ma qeexdo tokenada codsigu qaadan karo.
Decoder reactive wuxuu isticmaalaa interface kale. Macmiilada kale ee ogaanshaha issuer ama helista token sidoo kale waxay hayaan isku-duubidda gaadiidkooda.
Furihii kaydka lagu hayay waxay xaqiijinta ka dhigi karaan mid guuleysta iyada oo aan soo dejin cusub lahayn. Hayso URL-ka fure ee guuldareystay iyo marxaladda cusboonaysiinta ama bilaabista marka aad qiimeyneyso waddada.