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

自定义资源服务器配置

相关内容

热门资讯

推荐开挂!边锋干橙眼ios辅助... 推荐开挂!边锋干橙眼ios辅助,逸趣鄱阳翻精辅助(实操分享辅助平台);1、很好的逸趣鄱阳翻精辅助工具...
分析透视!赣南好友辅助,皇豪互... 分析透视!赣南好友辅助,皇豪互众智能辅助器(附开挂辅助软件);皇豪互众智能辅助器是一款益智类棋牌手游...
教会开挂!阿拉透视辅助器,小程... 教会开挂!阿拉透视辅助器,小程序牵手跑得有开挂吗(透视教学辅助工具);阿拉透视辅助器中的10万兆豆可...
教会透视!欢乐联盟辅助器,新九... 教会透视!欢乐联盟辅助器,新九五辅助(附开挂辅助工具);是一款可以让一直输的玩家,快速成为一个“必胜...
细节开挂!亲友圈辅助吧,潮汕汇... 细节开挂!亲友圈辅助吧,潮汕汇鱼虾蟹辅助器(透视实锤辅助神器);1、很好的潮汕汇鱼虾蟹辅助器工具软件...
详细透视"wepok... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
曝光透视!新九天辅助器,战神辅... 曝光透视!新九天辅助器,战神辅助直装破解版(附辅助开挂脚本);AI辅助机器人普及解说快速成为一个“必...
原来有开挂!小程序卡五星辅助,... 原来有开挂!小程序卡五星辅助,边锋老友填大坑辅助(玩家必用辅助软件);相信小伙伴都知道这个边锋老友填...
细节透视!竹简茶馆辅助,蜀山四... 细节透视!竹简茶馆辅助,蜀山四川辅助脚本(附辅助开挂工具),蜀山四川辅助脚本是用手机号来登录游戏的系...
教会透视!钱塘十三水透视脚本,... 教会透视!钱塘十三水透视脚本,潮汕掌上娱有破解版吗(附辅助开挂神器);1、超多福利:超高返利,海量正...