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

自定义资源服务器配置

相关内容

热门资讯

五分钟开挂!旺旺福建麻将辅助器... >>您好:旺旺福建麻将辅助器确实是有挂的,很多玩家在这款旺旺福建麻将辅助器游戏中打牌都会发现很多用户...
太离谱了!边锋老友辅助器,we... 太离谱了!边锋老友辅助器,wepoker怎么获得好牌(透视)开挂辅助神器(有挂教程);无需打开直接搜...
太嚣张了辅助!乐逍遥脚本辅助,... 太嚣张了辅助!乐逍遥脚本辅助,中至江西插件(透视能赢辅助开挂平台);乐逍遥脚本辅助软件透视开挂更新新...
三分钟透视!湖南牵手胡子跑辅助... 三分钟透视!湖南牵手胡子跑辅助,hhpoker德州辅助(透视攻略开挂辅助神器)湖南牵手胡子跑辅助ai...
太实锤了!月兔茶馆游戏破解版,... 太实锤了!月兔茶馆游戏破解版,拱趴游戏破解器(透视)开挂辅助下载(存在有挂) 【无需打开直接搜索加薇...
太实锤了透视!陕西挖坑技巧,桂... 太实锤了透视!陕西挖坑技巧,桂林字牌辅助科技(分享给玩家辅助开挂下载);最新版2026是一款经典耐玩...
9分钟透视!靠谱辅助软件,榕城... 9分钟透视!靠谱辅助软件,榕城510k有没有挂(透视辅助开挂辅助插件)【无需打开直接搜索加薇1367...
太无语了!决战十三水ios辅助... 太无语了!决战十三水ios辅助,aapoker怎么控制牌(透视)开挂辅助下载(有挂规律)《详细加薇1...
太无语了辅助!微信微乐辅助器免... 太无语了辅助!微信微乐辅助器免费安装,樱花之盛辅助器(一分钟了解开挂辅助神器);1、这是跨平台的微信...
8分钟开挂!微乐老友广东辅助器... 8分钟开挂!微乐老友广东辅助器,福建天天13水插件(透视智能ai开挂辅助安装)>>您好:软件加136...