Spring NimbusJwtDecoder: dirprwyo llwytho'r set JWK
Rhowch RestTemplate sy'n ymwybodol o'r dirprwy i'r datgodiwr servlet, a chadwch y dilysydd issuer, cynulleidfa a dilyswyr tocyn ychwanegol wrth ddisodli'r hunangyfluniad.
Gall cais bearer sy'n dod i mewn gyrraedd y gweinydd adnoddau tra bod dilysu JWT yn methu ar lawrlwytho JWK allanol. Ffurfweddwch y cleient HTTP a ddefnyddir gan y datgodiwr hwnnw:
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));Defnyddiwch jwkSetUri ac issuer gwirioneddol y cymhwysiad, a gosodwch y datgodiwr hwn yng nghyfluniad gwirioneddol y gweinydd adnoddau. Mae'r enghraifft yn defnyddio dirprwy HTTP heb ei ddilysu gyda'r datgodiwr Nimbus arddull servlet. Ar gyfer URL JWK cyhoeddus ar lwybr dirprwy cyhoeddus a ganiateir, mae'r rhestr dirprwyon HTTP yn darparu gwerthoedd gwesteiwr a phorth posibl.
Nid yw dilysydd issuer yr enghraifft yn disodli'r gwiriadau cynulleidfa gofynnol nac unrhyw wiriadau cymhwysiad eraill. Cadwch y rheini wrth ddisodli datgodiwr a ffurfweddwyd yn awtomatig; nid yw newid llwybr lawrlwytho'r allwedd yn diffinio pa docynnau y dylai'r cymhwysiad eu derbyn.
Mae datgodiwr adweithiol yn defnyddio rhyngwyneb arall. Mae cleientiaid darganfod issuer neu gaffael tocynnau eraill hefyd yn cadw eu cyfluniad cludo eu hunain.
Gall allweddi wedi'u storio ar gache wneud dilysu'n llwyddo heb lawrlwytho newydd. Cadwch URL yr allwedd a fethodd a'r cam adnewyddu neu gychwyn wrth werthuso'r llwybr.