JWKS ներբեռնումներ պրոքսի միջոցով Spring-ի ռեակտիվ JWT վերծանիչի համար
Ներարկեք հաճախորդը 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 արժեքները և տեղադրեք այս վերծանիչը փաստացի ReactiveJwtDecoder բիընի կամ ռեսուրսային սերվերի հստակ կոնֆիգուրացիայի միջոցով։ Այն անփոփոխ ակտիվ վերծանիչի կողքին ստեղծելը չի փոխում բանալիների ստացումը։ Եթե վստահելի JWKS URL-ը հանրային է և հանրային միջնորդները թույլատրված են, HTTP պրոքսիների ցանկը առաջարկում է թեկնածուներ առանց հաշվի տրանսպորտի հոսթի և պորտի համար։
Ցուցադրված վավերացնողը պահպանում է լռելյայն ժամանակի ստուգումները և թողարկողի վավերացումը։ Վերծանիչը փոխարինելիս պահպանեք լսարանի պահանջները և հավելվածի բոլոր լրացուցիչ վավերացնողները։
Հայտնի բանալու URI-ն շրջանցում է հայտնաբերումը՝ այն գտնելու համար։ Եթե մեկ այլ բաղադրիչ դեռ կատարում է հայտնաբերում կամ նշանի ստացում, կարգավորեք այդ հաճախորդի երթուղին առանձին։
Սա ընդգրկում է ռեսուրսային սերվերում ռեակտիվ JWT-ների ստուգումը։ Servlet ռեսուրսային սերվերը, OAuth2 մուտքը և բիզնես API հաճախորդներն ունեն այլ կցման կետեր. պահեք ձախողված բանալու URL-ը և փուլը հետաքննության հետ։