使用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)看操作效果...
七分钟辅助“微信小程序挂后台”... 七分钟辅助“微信小程序挂后台”开挂(透视)辅助挂存在挂教程-哔哩哔哩 >>您好:软件加薇136704...
教程辅助“wejoker辅助机... 教程辅助“wejoker辅助机器人”开挂(透视)辅助软件-哔哩哔哩您好:wejoker辅助机器人这款...
实测交流“钱塘十三道攻略”附开... 实测交流“钱塘十三道攻略”附开挂插件辅助详细教程《详细加薇136704302咨询》游戏特色:1.玩家...
七分钟辅助“多乐脚本辅助器”开... 七分钟辅助“多乐脚本辅助器”开挂(透视)辅助安装详细教程!-哔哩哔哩 了解更多开挂安装加(13670...
推荐十款“佛手在线大菠萝辅助”... 推荐十款“佛手在线大菠萝辅助”附开挂脚本辅助详细教程;亲,佛手在线大菠萝辅助这款游戏原来确实可以开挂...
教程辅助“江西中指黑科技辅助软... 教程辅助“江西中指黑科技辅助软件”开挂(透视)辅助下载-知乎;无需打开直接搜索打开薇:1367043...
教程辅助“wepoker怎么提... 教程辅助“wepoker怎么提高运气”开挂(透视)辅助挂实用技巧-知乎 >>您好:软件加薇13670...
揭秘几款“三哥玩辅助器软件”附... 揭秘几款“三哥玩辅助器软件”附开挂软件辅助详细教程;亲,三哥玩辅助器软件这款游戏原来确实可以开挂的,...
教程辅助“德州局透视脚本免费版... 德州局透视脚本免费版下载手机版开挂教程视频分享装挂详细步骤在当今的网络游戏中,德州局透视脚本免费版下...