Spring ၏ ဓာတ်ပြုမှု JWT ဒီကုဒ်အတွက် ပရောက်စီမှတစ်ဆင့် JWKS ဒေါင်းလုဒ်
ကလိုင်းယင့်ကို NimbusReactiveJwtDecoder ထဲထည့်ပြီး ရင်းမြစ်ဆာဗာနှင့် ချိတ်ဆက်စဉ် ရှိပြီးသား issuer၊ audience နှင့် အခြားတိုကင် စစ်ဆေးမှုများကို ထိန်းသိမ်းပါ။
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 bean သို့မဟုတ် ရင်းမြစ်ဆာဗာ ဖွဲ့စည်းမှုဖြင့် တပ်ဆင်ပါ။ မပြောင်းလဲသော အသက်ဝင်နေသည့် ဒီကုဒ်ဘေးတွင် ဖန်တီးခြင်းသည် သော့ရယူမှုကို မပြောင်းလဲစေပါ။ ယုံကြည်ရသော JWKS URL သည် အများသုံးဖြစ်ပြီး အများသုံး ကြားခံများကို ခွင့်ပြုပါက HTTP ပရောက်စီစာရင်း သည် အကောင့်မလိုအပ်သော သယ်ယူပို့ဆောင်ရေး host နှင့် port အတွက် ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။
ပြထားသော အတည်ပြုစစ်ဆေးသူသည် မူရင်းအချိန် စစ်ဆေးမှုများနှင့် issuer အတည်ပြုမှုကို ထိန်းသိမ်းသည်။ ဒီကုဒ်ကို အစားထိုးစဉ် audience လိုအပ်ချက်များနှင့် အက်ပ်၏ ထပ်ဆောင်း အတည်ပြုစစ်ဆေးသူအားလုံးကို ထိန်းသိမ်းပါ။
သိထားသော သော့ URI သည် ၎င်းကို ရှာဖွေရန် ရှာဖွေတွေ့ရှိမှုကို ကျော်သွားသည်။ အခြားအစိတ်အပိုင်းက ရှာဖွေတွေ့ရှိမှု သို့မဟုတ် တိုကင်ရယူမှုကို ဆက်လုပ်နေပါက ထိုကလိုင်းယင့်၏ လမ်းကြောင်းကို သီးခြားဖွဲ့စည်းပါ။
၎င်းသည် ရင်းမြစ်ဆာဗာရှိ ဓာတ်ပြုမှု JWT အတည်ပြုမှုကို လွှမ်းခြုံသည်။ Servlet ရင်းမြစ်ဆာဗာ၊ OAuth2 လော့ဂ်အင် နှင့် စီးပွားရေး API ကလိုင်းယင့်များတွင် အခြားချိတ်ဆက်နေရာများ ရှိသည်။ မအောင်မြင်သော သော့ URL နှင့် အဆင့်ကို စုံစမ်းစစ်ဆေးမှုနှင့်အတူ သိမ်းထားပါ။