دانلود JWKS از طریق پروکسی برای رمزگشای JWT واکنشی Spring
کلاینت را به NimbusReactiveJwtDecoder تزریق کنید و بررسیهای موجود صادرکننده، مخاطب و سایر توکنها را هنگام اتصال به سرور منابع حفظ کنید.
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));از مقادیر مورد اعتماد jwkSetUri/issuer استفاده کنید و این رمزگشا را از طریق bean واقعی ReactiveJwtDecoder یا پیکربندی صریح سرور منابع نصب کنید. ساختن آن در کنار یک رمزگشای فعال بدون تغییر، شیوهٔ واکشی کلید را تغییر نمیدهد. اگر نشانی JWKS مورد اعتماد عمومی باشد و واسطههای عمومی مجاز باشند، فهرست پروکسی HTTP گزینههایی برای میزبان و پورت انتقال بدون حساب فراهم میکند.
اعتبارسنج نمایشدادهشده بررسیهای زمانی پیشفرض و اعتبارسنجی صادرکننده را حفظ میکند. هنگام جایگزینی رمزگشا، الزامات مخاطب و همهٔ اعتبارسنجهای اضافی برنامه را نگه دارید.
یک URI کلید شناختهشده برای یافتن آن از کشف عبور میکند. اگر مؤلفهٔ دیگری هنوز کشف یا دریافت توکن انجام میدهد، مسیر آن کلاینت را جداگانه پیکربندی کنید.
این موضوع تأیید JWT واکنشی در سرور منابع را پوشش میدهد. سرور منابع Servlet، ورود OAuth2 و کلاینتهای API تجاری قلابهای دیگری دارند؛ نشانی کلید ناموفق و مرحله را همراه با بررسی نگه دارید.