使用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要好用的多。

自定义资源服务器配置

相关内容

热门资讯

最新技巧!约战荆门麻将开挂透视... >>>您好:,软件加微信【添加136704302】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
第6分钟辅助挂!情怀游戏辅助器... 第6分钟辅助挂!情怀游戏辅助器破解版,微信微乐辅助器免费安装(了解开挂辅助器);无需打开直接搜索加(...
热门推荐!新蜜瓜房卡大厅辅助科... 您好:这款新蜜瓜房卡大厅辅助科技游戏是可以开挂的,确实是有挂的,很多玩家在这款新蜜瓜房卡大厅辅助科技...
透视ai!微信小程序四川微乐脚... 透视ai!微信小程序四川微乐脚本,超圣大厅黑科技,必备教程(发现有挂);无需打开直接搜索微信(136...
第九分钟辅助挂!山西扣点子技巧... 第九分钟辅助挂!山西扣点子技巧,指尖四川辅助破解版(晓得开挂辅助透视挂)1、下载安装好指尖四川辅助破...
技术分享!皇家大厅开挂透视辅助... 您好:皇家大厅这款游戏是可以开挂的,软件加【添加微信客服136704302】确实是有挂的,很多玩家在...
盘点十款!浙江宝宝游戏辅助工具... 盘点十款!浙江宝宝游戏辅助工具,九游辅助真的假的(有挂存在开挂辅助软件);亲,浙江宝宝游戏辅助工具这...
透视有挂!微乐小程序有脚本,微... 透视有挂!微乐小程序有脚本,微乐陕西小程序破解器,透视教程(有挂秘籍);无需打开直接搜索薇:1367...
两分钟辅助挂!心悦游戏万能透视... 两分钟辅助挂!心悦游戏万能透视辅助器免费,众亿辅助(晓得开挂辅助下载);亲,心悦游戏万能透视辅助器免...
推荐十款!十点半开挂辅助神器,... >>>您好:,软件加微信【添加136704302】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...