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

自定义资源服务器配置

相关内容

热门资讯

透视安装!智星德州菠萝插件官网... 透视安装!智星德州菠萝插件官网,wepoker怎么设置房间(详细辅助普及教程);wepoker怎么设...
透视ai!wpk有辅助器吗,荆... 透视ai!wpk有辅助器吗,荆州圣盛游戏辅助(一贯存在有挂);1、下载好荆州圣盛游戏辅助辅助软件之后...
wepoker辅助器安装包!拱... 您好,wepoker辅助器安装包这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...
透视苹果版!aapoker有脚... 透视苹果版!aapoker有脚本吗,wejoker手机版透视脚本(详细辅助微扑克教程)关于wejok...
透视好牌!HH平台挂,小程序微... 透视好牌!HH平台挂,小程序微乐贵阳捉鸡麻将挂(一贯存在有挂)1)小程序微乐贵阳捉鸡麻将挂辅助挂:进...
wepoker底牌透视脚本ap... wepoker底牌透视脚本app!poker world辅助,德朴之星脚本(详细辅助黑科技教程)1、...
透视数据!aapoker辅助是... 透视数据!aapoker辅助是真的吗,约局吧德州真的存在透视吗(详细辅助存在挂教程)准备好在约局吧德...
透视肯定!哈糖大菠萝挂,博乐填... 透视肯定!哈糖大菠萝挂,博乐填大坑有没有buff(其实是有挂)1、下载好博乐填大坑有没有buff辅助...
aapoker辅助器是真的吗!... aapoker辅助器是真的吗!wepoker国外版透视,aapoker透视怎么用(详细辅助安装教程)...
透视智能ai!wepoker脚... 透视智能ai!wepoker脚本下载,hhpoker辅助器(详细辅助wpk教程);支持2-10人实时...