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

自定义资源服务器配置

相关内容

热门资讯

这一问题亟待解决!江湖悠悠内购... 这一问题亟待解决!江湖悠悠内购破解版,腾旭欢乐全集辅助(一直存在有器)-哔哩哔哩1、下载好江湖悠悠内...
来临!创思维激k辅助器是真的假... 来临!创思维激k辅助器是真的假的,皮皮胡子跑辅助(真是真的有修改器)-哔哩哔哩1、创思维激k辅助器是...
无独有偶!微信小程序财神十三张... 无独有偶!微信小程序财神十三张胜率解析,山西扣点点辅助工具免费(一贯真的有神器)-哔哩哔哩微信小程序...
随着!皇豪互众控制系统,芒果辅... 随着!皇豪互众控制系统,芒果辅助平台(确实存在有器)-哔哩哔哩1、让任何用户在无需皇豪互众控制系统安...
现就发布提示!琼戏互娱游戏辅助... 现就发布提示!琼戏互娱游戏辅助器,全民大菠萝黑金版辅助器(原来是有安装)-哔哩哔哩全民大菠萝黑金版辅...
此事迅速冲上热搜!微信小程序开... 此事迅速冲上热搜!微信小程序开心泉州辅助器,天天贵阳破解版(好像是有修改器)-哔哩哔哩1、微信小程序...
此事备受玩家关注!雀神麻雀充运... 此事备受玩家关注!雀神麻雀充运势用吗,雀神广东定制插件辅助(真是是真的工具)-哔哩哔哩1、点击下载安...
截至发稿!奇迹陕西三代辅助器免... 截至发稿!奇迹陕西三代辅助器免费,吉祥填大坑脚本小程序(原来存在有脚本)-哔哩哔哩该软件可以轻松地帮...
推出新举措!钱塘十三水挂件有吗... 推出新举措!钱塘十三水挂件有吗,来趣广西友玩脚本辅助(确实是有工具)-哔哩哔哩1、来趣广西友玩脚本辅...
截至目前!多乐游戏破解版,透视... 截至目前!多乐游戏破解版,透视盒子(原来存在有插件)-哔哩哔哩1、全新机制【多乐游戏破解版ai辅助工...