使用Spring Security 资源服务器来保护Spring Cloud 微服务
创始人
2025-01-20 21:03:25
0

为了实现平滑过渡,默认的配置肯定不能用了,需要定制化一个JWT解码器。接下来我们一步步来实现它。

分离公私钥

资源服务器只能保存公钥,所以需要从之前的jks文件中导出一个公钥。

keytool-export-aliasfelordcn-keystore-file<导出cer的全路径>

例如:

keytool-export-aliasfelordcn-keystoreD:\keystores\felordcn.jks-filed:\keystores\publickey.cer

把分离的cer公钥文件放到原来jks文件的路径下面,资源服务器不再保存jks

自定义jwt解码器

spring-security-oauth2-jose是Spring Security的jose规范依赖。我将根据该类库来实现自定义的JWT解码器。

/**

*基于Nimbus的jwt解码器,并增加了一些自定义校验策略

*@paramvalidatorthevalidator

*@returnthejwtdecoder

*/

@SneakyThrows

@Bean

publicJwtDecoderjwtDecoder(@Qualifier(“delegatingTokenValidator”)DelegatingOAuth2TokenValidatorvalidator){

CertificateFactorycertificateFactory=CertificateFactory.getInstance(“X.509”);

//从classpath路径读取cer公钥证书来配置解码器

ClassPathResourceresource=newClassPathResource(this.jwtProperties.getCertInfo().getPublicKeyLocation());

Certificatecertificate=certificateFactory.generateCertificate(resource.getInputStream());

PublicKeypublicKey=certificate.getPublicKey();

NimbusJwtDecodernimbusJwtDecoder=NimbusJwtDecoder.withPublicKey((RSAPublicKey)publicKey).build();

nimbusJwtDecoder.setJwtValidator(validator);

returnnimbusJwtDecoder;

}

上面的解码器基于我们的公钥证书,同时我还自定义了一些校验策略。不得不说Nimbus的jwt类库比jjwt要好用的多。

自定义资源服务器配置

相关内容

热门资讯

透视中牌率!wpk透视脚本下载... 透视中牌率!wpk透视脚本下载,wepoker手机版辅助(详细辅助插件教程)是一款可以让一直输的玩家...
透视挂透视!哈糖大菠萝免费辅助... 透视挂透视!哈糖大菠萝免费辅助器,川娱竞技有挂透视脚本(本来是真的有挂)1、哈糖大菠萝免费辅助器ai...
德普之星有没有挂!hhpoke... 德普之星有没有挂!hhpoker俱乐部是干嘛的,智星德州菠萝插件官网(详细辅助新版2025教程);德...
透视挂“德普之星辅助正版”果然... 透视挂“德普之星辅助正版”果然存在有挂(辅助挂)详细辅助wpk教程1、下载好辅助软件之后点击打开,先...
透视挂透视!wepoker数据... 透视挂透视!wepoker数据分析,吉安中至小程序(原来是真的有挂)1)吉安中至小程序辅助挂:进一步...
透视好友!智星德州辅助译码插件... 透视好友!智星德州辅助译码插件靠谱吗,如何下载德普之星辅助软件(详细辅助2025新版)是一款可以让一...
aapoker透视插件下载!佛... aapoker透视插件下载!佛手大菠萝辅助,wepoker辅助器怎么用(详细辅助解密教程)1)aap...
透视讲解“wpk透视表”竟然是... 透视讲解“wpk透视表”竟然是真的有挂(辅助挂)详细辅助玩家教你1、ai机器人多个强度级别选择2、a...
透视好友!steampoker... 透视好友!steampokermaster辅助,广西友玩修改器(好像有挂);1、点击下载安装,广西友...
智星德州菠萝透视插件工具!we... 智星德州菠萝透视插件工具!wepoker俱乐部辅助,hhpoker辅助软件下载(详细辅助实用技巧);...