Spring NimbusJwtDecoder: ໂປຣກຊີການດາວໂຫລດຊຸດ JWK
ໃຫ້ຕົວຖອດລະຫັດ servlet ໃຊ້ RestTemplate ທີ່ຮູ້ຈັກໂປຣກຊີ ແລະ ຮັກສາຕົວກວດສອບ issuer, audience ແລະ ຕົວກວດສອບໂທເຄັນເພີ່ມເຕີມ ເມື່ອປ່ຽນການຕັ້ງຄ່າອັດຕະໂນມັດ.
ຄຳຮ້ອງ bearer ທີ່ເຂົ້າມາສາມາດໄປຮອດເຊີບເວີທຣັບພະຍາກອນ ໃນຂະນະທີ່ການກວດສອບ JWT ລົ້ມເຫຼວໃນການດາວໂຫລດ JWK ອອກ. ຕັ້ງຄ່າ HTTP ລູກຄ້າທີ່ຕົວຖອດລະຫັດນັ້ນໃຊ້:
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));ໃຊ້ jwkSetUri ແລະ issuer ຕົວຈິງຂອງແອັບພລິເຄຊັນ ແລະ ຕິດຕັ້ງຕົວຖອດລະຫັດນີ້ໃນການຕັ້ງຄ່າເຊີບເວີທຣັບພະຍາກອນຕົວຈິງ. ຕົວຢ່າງໃຊ້ໂປຣກຊີ HTTP ທີ່ບໍ່ມີການພິສູດຕົວຕົນກັບຕົວຖອດລະຫັດ Nimbus ແບບ servlet. ສຳລັບ URL JWK ສາທາລະນະໃນເສັ້ນທາງໂປຣກຊີສາທາລະນະທີ່ໄດ້ຮັບອະນຸຍາດ ລາຍຊື່ໂປຣກຊີ HTTP ໃຫ້ຄ່າ host ແລະ port ທີ່ເປັນຜູ້ສະໝັກ.
ຕົວກວດສອບ issuer ໃນຕົວຢ່າງບໍ່ແມ່ນການທົດແທນການກວດສອບ audience ທີ່ຈຳເປັນ ຫຼື ການກວດສອບແອັບພລິເຄຊັນອື່ນໆ. ຮັກສາສິ່ງເຫຼົ່ານັ້ນເມື່ອປ່ຽນຕົວຖອດລະຫັດທີ່ຕັ້ງຄ່າອັດຕະໂນມັດ; ການປ່ຽນເສັ້ນທາງດາວໂຫລດກະແຈບໍ່ໄດ້ກຳນົດວ່າແອັບພລິເຄຊັນຄວນຮັບໂທເຄັນໃດ.
ຕົວຖອດລະຫັດແບບ reactive ໃຊ້ອິນເຕີເຟສອື່ນ. ລູກຄ້າຄົ້ນຫາ issuer ຫຼື ຮັບໂທເຄັນອື່ນໆກໍຮັກສາການຕັ້ງຄ່າການຂົນສົ່ງຂອງຕົນເອງ.
ກະແຈທີ່ເກັບໃນແຄສາມາດເຮັດໃຫ້ການກວດສອບສຳເລັດໂດຍບໍ່ມີການດາວໂຫລດໃໝ່. ຮັກສາ URL ຂອງກະແຈທີ່ລົ້ມເຫຼວ ແລະ ຂັ້ນຕອນການໂຫຼດຄືນ ຫຼື ການເລີ່ມຕົ້ນ ເມື່ອປະເມີນເສັ້ນທາງ.