使用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私人局... wpk辅助器安装!wpk私人局辅助是真的吗,wpk透视辅助(详细辅助总结教程)是一款可以让一直输的玩...
攻略讲解“微信小程序万能修改器... 攻略讲解“微信小程序万能修改器”pokemmo免费脚本(往昔真的是有挂);最新版2024是一款经典耐...
透视代打!hhpoker怎么开... 透视代打!hhpoker怎么开透视,德州透视插件,安装教程(果然存在有挂);hhpoker怎么开透视...
wpk辅助工具!hardroc... wpk辅助工具!hardrock透视工具,aapoker透视插件(详细辅助透明挂教程)您好,aapo...
专业讨论“江西上饶辅助器”we... 专业讨论“江西上饶辅助器”wepoker私人局透视教程(切实真的有挂)是一款可以让一直输的玩家,快速...
hhpoker透视脚本视频!w... hhpoker透视脚本视频!wpk显示有作弊,wpk透视辅助(详细辅助黑科技教程)1、许多玩家不知道...
透视好友房!德普之星透视辅助软... 透视好友房!德普之星透视辅助软件下载,如何下载德普之星辅助软件,可靠技巧(竟然真的有挂)1、很好的工...
总算清楚“广东雀神智能插件”h... 总算清楚“广东雀神智能插件”hh poker辅助有用吗(素来是有挂);广东雀神智能插件软件透明挂更新...
wpk透视脚本链接!wepok... wpk透视脚本链接!wepoker透视底牌,wepoker免费透视脚本(详细辅助普及教程);小薇(透...