使用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、云麻圈修改器系统规律教程、...
有消息称!遇悦游戏辅助,微信小... 有消息称!遇悦游戏辅助,微信小程序多乐辅助器,透牌教程(果然是有挂)-哔哩哔哩1、操作简单,无需注册...
记者发布!随意玩有辅助吗(辅助... 记者发布!随意玩有辅助吗(辅助挂)开挂透视辅助方法(切实是有挂)-哔哩哔哩在进入随意玩有辅助吗辅助挂...
网友热议!渝都亲友全辅助,皇豪... 网友热议!渝都亲友全辅助,皇豪互众插件,第三方教程(其实真的有挂)-哔哩哔哩1、渝都亲友全辅助系统规...
科技通报!快玩炸翻天辅助工具(... 科技通报!快玩炸翻天辅助工具(辅助挂)开挂透视辅助教程(真是有挂)-哔哩哔哩1、快玩炸翻天辅助工具机...
为切实保障!哥哥打大a游戏攻略... 为切实保障!哥哥打大a游戏攻略,闲逸辅助软件下载,安装教程(切实真的有挂)-哔哩哔哩1、哥哥打大a游...
科技分享!腾威互娱破解辅助工具... 科技分享!腾威互娱破解辅助工具(辅助挂)开挂透视辅助神器(其实真的有挂)-哔哩哔哩1、腾威互娱破解辅...
据公告内容!边锋辅助装备,人海... 据公告内容!边锋辅助装备,人海大厅辅助插件,AI教程(原来有挂)-哔哩哔哩1、下载好人海大厅辅助插件...