Muat turun JWKS melalui proksi untuk penyahkod JWT reaktif Spring
Suntikkan klien ke dalam NimbusReactiveJwtDecoder dan kekalkan semakan issuer, audiens dan token lain yang sedia ada apabila menyambungkannya ke pelayan sumber.
var transport = reactor.netty.http.client.HttpClient.create()
.proxy(spec -> spec
.type(reactor.netty.transport.ProxyProvider.Proxy.HTTP)
.host("proxy.example")
.port(8080));
var webClient = org.springframework.web.reactive.function.client.WebClient
.builder()
.clientConnector(new org.springframework.http.client.reactive
.ReactorClientHttpConnector(transport))
.build();
var decoder = org.springframework.security.oauth2.jwt.NimbusReactiveJwtDecoder
.withJwkSetUri(jwkSetUri)
.webClient(webClient)
.build();
decoder.setJwtValidator(org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));Gunakan nilai jwkSetUri/issuer yang dipercayai dan pasang penyahkod ini melalui bean ReactiveJwtDecoder sebenar atau konfigurasi pelayan sumber yang eksplisit. Menciptanya di sebelah penyahkod aktif yang tidak berubah tidak mengubah pengambilan kunci. Jika URL JWKS dipercayai bersifat awam dan perantara awam dibenarkan, senarai proksi HTTP menyediakan calon untuk hos dan port pengangkutan tanpa akaun.
Pengesah yang dipaparkan mengekalkan semakan masa lalai dan pengesahan issuer. Kekalkan keperluan audiens dan semua pengesah tambahan aplikasi apabila menggantikan penyahkod.
URI kunci yang diketahui memintas penemuan untuk mencarinya. Jika komponen lain masih melakukan penemuan atau pemerolehan token, konfigurasikan laluan klien itu secara berasingan.
Ini merangkumi pengesahan JWT reaktif pada pelayan sumber. Pelayan sumber Servlet, log masuk OAuth2 dan klien API perniagaan mempunyai cangkuk lain; simpan URL kunci yang gagal dan peringkat bersama siasatan.